我有一个脚本,该脚本每隔X次运行一次我的PHP脚本:
#!/bin/bash while true; do /usr/bin/php -f ./my-script.php echo "Waiting..." sleep 3 done
如何将其作为守护程序启动?
要将其作为完整的守护程序从Shell运行,您需要使用setsid并重定向其输出。您可以将输出重定向到日志文件,也可以/dev/null将其丢弃。假设您的脚本名为myscript.sh,请使用以下命令:
setsid
/dev/null
setsid myscript.sh >/dev/null 2>&1 < /dev/null &
这会将进程与当前的shell(stdin,stdout和stderr)完全分开。如果要将输出保留在日志文件中,请用/dev/null/ path / to / logfile 替换第一个。
您必须重定向输出,否则它将不能作为真正的守护程序运行(它将取决于您的shell来读写输出)。