我需要用 Python3 开发一个程序,该程序会在特定时间自动执行程序。我必须使用守护进程。
这就是我创建文件到/usr/bin/
和的原因/etc/init.d/
。
但是,当我运行此命令时:(我的程序名称在/etc/init.d/gobatch
哪里gobatch
)我收到此错误:
/etc/init.d/gobatch:13:/etc/init.d/gobatch:未找到
我不明白。
/etc/init.d/gobatch 文件:
#### 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
DESC=Deamon that allows you to run cyclicaly at a date or a specific time a program
DEAMON=/home/nicolas/gobatch
我遵循了本教程:https://openclassrooms.com/courses/faire-un-demon-sous-linux
感谢帮助!
更新
在我的 Python 安装脚本中我执行以下操作:
# Give the rights
os.chmod('/etc/init.d/gobatch', 0o755)
os.system('chown root:root /etc/init.d/gobatch')
我使用以下命令启动它:/etc/init.d/gobatch start
进入我的终端,但出现相同的错误。
答案1
你的程序必须是可执行的,并且归根用戶/組。
sudo chmod 755 /etc/init.d/gobatch
sudo chown root:root /etc/init.d/gobatch
要启动守护进程,请执行以下操作:
sudo /etc/init.d/gobatch start
答案2
我解决了这个问题。
我忘记了"
守护进程的描述。
DESC="Deamon that allows you to run cyclicaly at a date or a specific time a program"