如果 Python 脚本尚未运行,我该如何在后台执行它? cron 上有一个示例。
答案1
如果您希望脚本在启动时启动一次并且理论上它会一直运行,那么您应该将其作为服务添加到 init.d 中,并设置适当的运行级别。
当然,如果它下降了,你就会想再上升。
为此,您可以让 shell 脚本运行 ps -aux | grep 'nameOfYourScript'。当然,不要包含也会匹配的 grep 命令,哈哈。让该脚本每五分钟使用 cron 检查一次,如下所示 */5 * * * * user checkScript.sh
您制作的检查脚本可以用于启动该程序。
答案2
你可以做这样的事情:
#!/bin/bash
# count the number of processes that match "NameOfProcess" but
# exclude the grep process itself
pc=`ps -ef |grep "NameOfProcess" |grep -v grep |wc -l`
# if pc > 0, the process is already running and we can exit.
if [ $pc -gt 0 ] ; then
echo "Application is already running, exiting."
exit 0
fi
# othewise start the program
/path/to/program
将其放入 crontab 中或从以下位置启动
nohup /path/to/script.sh &
nohup 将确保退出 ssh 会话时进程不会关闭。另一种方法是screen