我有一个简单的问题,我搜索过,找不到解决方案。
我有一个简单的shell脚本,每2秒运行一个小的PHP代码,我写了它并保存为文件:
$ cat every-2-seconds.sh
#!/bin/bash
while true
do
php /home/account/domains/domain.co.il/public_html/my-php-script.php
sleep 2
done
现在,我需要这个脚本总是在后台运行,但我还需要它会在启动时运行,就像服务一样,它应该总是在后台运行,而我从不想要手动启动它(当然,如果发生了什么事情它会停止,我应该能够手动启动它) 我听说过nohup,但它不是服务对吗?我可以在启动时启动.. :(
你能帮我解决这个问题吗?
答案 0 :(得分:1)
您可以使用这行代码运行脚本(假设您在脚本的目录中)
nohup every-2-seconds.sh &
&
会将此作为后台任务运行,nohup
即使在您与会话断开连接后也会继续运行。
要在reboot上启动它,您需要将此命令添加到您的crontab
crontab -e
@reboot /path/to/every-2-seconds.sh > /dev/null
在crontab中,您需要指定完整路径。您可以将/dev/null
更改为要输出的文件(假设您需要输出)