php - linux shell 脚本 : how can I create a service that will run in background?

标签 php linux shell

我有一个简单的问题,我进行了搜索但找不到解决方案。

我有一个简单的 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/

相关文章:

php - 在没有 foreach 循环的情况下获取数组值

php - ldap_set_rebind_proc() 函数在任何 PHP Windows 发行版中都不起作用

php - 奇怪的 php require/include 错误

php - 多选值插入数据库

linux - 目录输入卫生

linux - su -c 从引号内的命令获取参数

linux - 可以阅读 linux gnu-screen 的最后一行吗?

32 位和 64 位架构中结构成员对齐的混淆

php - 更新多个php文件(具体值,按文件顺序增加)

python-3.x - 如何对 django 项目进行 cythonize?