我缺乏理解。我是否需要在 bash 脚本中包含 fork:https://stackoverflow.com/a/26756839/4749164,所以我可以在?expect daemon/fork
中使用 - 选项upstart
我想通过 upstart 在后台运行我的 bash 脚本作为进程,到目前为止我做了:
start on filesystem or runlevel [2345]
stop on shutdown or runlevel [12345]
respawn
expect daemon
script
export HOME="/user"
echo $$ > /var/run/bashscript.pid
exec /etc/rfid/bashscript
end script
pre-start script
echo "[`date`]" program starting >> /var/log/bashscript.log
end script
pre-stop script
rm /var/run/program.pid
echo "[`date`]" program stopping >> /var/log/bashscript.log
end script
当我在终端中运行时:sudo service bashscript status
它说它bashscript
正在运行并且它有 Pid,如果我检查,这是真的:/var/run/bashscript.pid
但是没有这样的进程top
以该 pid 运行,如果我在终端中输入:
sudo service bashscript stop
它会挂起。我做错了什么或错过了什么?