我的目标是启动一个名为 的个人守护进程gobatch
。gobatch
存储在 中/usr/bin/gobatch
。
gobatch
是一个守护进程,它允许你在某个日期或特定时间循环运行程序。gobatch
是用 Python 编写的。但在测试期间,它只是一个无限循环。
当我使用时/etc/init.d/gobatch start
出现此错误:
janv. 08 14:39:03 ubuntu systemd[1]: 无法启动 SYSV: ChilliSpot 是一个开源强制门户。
/usr/sbin/gobatch
#! /bin/bash
while true;
do
done
/etc/init.d/gobatch
#!/bin/sh
#### BEGIN INIT INFO
# Provides: chillispot et freeradius dans le chroot
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $remote_fs _
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Wireless & LAN Access Point Controller
# Description: ChilliSpot is an open source captive portal
# or wireless LAN access point controller.
### END INIT INFO
PATH=/bin:/usr/bin:/sbin:/usr/sbin
DESC="Deamon that allows you to run cyclicaly at a date or a specific time a program"
NAME=gobatch
DEAMON=/usr/sbin/gobatch
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/"$NAME"
. /lib/lsb/init-functions
case "$1" in
start) log_daemon_msg "Starting gobatch"
start_daemon -p $PIDFILE $DAEMON
log_end_msg $?
;;
stop) log_daemon_msg "Stopping gobatch"
killproc -p $PIDFILE $DAEMON
RETVAL=$?
[ $RETVAL -eq 0 ] && [ -e "$PIDFILE" ] && rm -f $PIDFILE
log_end_msg $RETVAL
;;
restart) log_daemon_msg "Restarting gobatch"
$0 stop
$0 start
;;
esac
exit 0
你能帮我解决这个问题吗?
多谢!
更新
问题可能是因为我使用的start_daemon -p $PIDFILE $DAEMON
gobatch 文件不是守护进程而是 bash 脚本?