[英]linux shell script: how can I create a service that will run in background?
我有一个简单的问题,我进行了搜索,但找不到解决方案。
我有一个简单的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
也会保持进程运行。
要在重新启动时启动它,您需要将此命令添加到crontab中
crontab -e
@reboot /path/to/every-2-seconds.sh > /dev/null
在crontab中,您需要指定完整路径。 您可以将/dev/null
更改为要输出到的文件(假设您要输出)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.