【发布时间】:2021-09-29 17:49:35
【问题描述】:
我有一个脚本(sync.sh),它在内部运行一个while循环进行同步。
#!/bin/bash
while :
do
#my PHP scripts runs parallel
wait
sleep 60
done
我想在我的虚拟机中永远独立运行这个脚本。
我知道我可以使用 nohup, disown 命令将这个 sh 文件作为后台进程运行。
但我想知道的是?如何在系统重新启动时运行此 .sh 文件,否则它的进程会被终止。如何在 Ubuntu VM 中无需终端命令自动启动 .sh 文件。(就像我们在系统启动时启动 Apache、MySQL 服务)
提前致谢。
【问题讨论】:
-
对我来说...... “永远独立运行这个脚本” ... 需要一种定期验证脚本正在运行的方法(例如,脚本是否死了?有人/某事杀死了脚本?);我通常做的是向脚本添加逻辑,允许它检查(自身的)副本是否已经在运行,然后做出相应的反应,然后我安排(在 cron 中)脚本定期运行