我有一个简单的问题,我进行了搜索但找不到解决方案。
我有一个简单的 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,但它不是一项服务,对吗?我可以在启动时启动它.. :(
你能帮我解决这个问题吗??
最佳答案
你可以用这行代码让你的脚本运行(假设你在你的脚本所在的目录中)
nohup every-2-seconds.sh &
&
会将此作为后台任务运行,而 nohup
会在您与 session 断开连接后仍保持进程运行。
处理在 reboot 上启动它您需要将此命令添加到您的 crontab
crontab -e
@reboot /path/to/every-2-seconds.sh > /dev/null
在 crontab 中,您需要指定完整路径。您可以将 /dev/null
更改为您希望输出到的文件(假设您想要输出)
关于php - linux shell 脚本 : how can I create a service that will run in background?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24817384/