繁体   English   中英

Linux Shell脚本:如何创建将在后台运行的服务?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM