从具有start-stop-daemon的LSB init脚本启动PHP守护程序
发布时间:2020-12-13 13:55:41 所属栏目:PHP教程 来源:网络整理
导读:我正在写一个lsb init脚本(不可否认的是我从未做过的事情),它启动了一个自我守护的php脚本. php脚本就像这样开始: #!/usr/bin/env php?php/* do some stuff */ 然后在init脚本中启动它: # first line is args to start-stop-daemon,second line is args to
我正在写一个lsb init脚本(不可否认的是我从未做过的事情),它启动了一个自我守护的php脚本. php脚本就像这样开始:
#!/usr/bin/env php <?php /* do some stuff */ 然后在init脚本中启动它: # first line is args to start-stop-daemon,second line is args to php-script start-stop-daemon --start --exec /path/to/executable/php-script.php -- --daemon --pid-file=$PIDFILE --other-php-script-args –daemon标志导致php脚本分离&作为守护进程本身运行,而不是依靠start-stop-daemon来分离它. 这是它(尝试)在init脚本中停止它的方式: start-stop-daemon --stop --oknodo --exec /path/to/executable/php-script.php --pidfile $PIDFILE 问题是,当我尝试通过init脚本停止时,它给了我: $sudo /etc/init.d/my-lsb-init-script stop * Stopping My Project No /path/to/executable/php-script.php found running; none killed. ...done. 快速查看ps告诉我,即使php脚本本身是可执行的,它也可以作为php< script>运行.而不是脚本名称本身,这使得start-stop-daemon看不到它. PID文件甚至正在生成,但似乎忽略它并尝试通过进程名称查找kill. $ps ax | grep '/path/to/executable/php-script.php' 2505 pts/1 S 0:01 php /path/to/executable/php-script.php --daemon --pid-file /var/run/blah/blah.pid --other-php-script-args 2507 pts/1 S 0:00 php /path/to/executable/php-script.php --daemon --pid-file /var/run/blah/blah.pid --other-php-script-args 2508 pts/1 S 0:00 php /path/to/executable/php-script.php --daemon --pid-file /var/run/blah/blah.pid --other-php-script-args 2509 pts/1 S 0:00 php /path/to/executable/php-script.php --daemon --pid-file /var/run/blah/blah.pid --other-php-script-args 2518 pts/1 S 0:01 php /path/to/executable/php-script.php --daemon --pid-file /var/run/blah/blah.pid --other-php-script-args $cat /var/run/blah/blah.pid 2518 我在这里完全误解了什么吗?或者有一种简单的方法可以解决这个问题吗?
正确停止:
start-stop-daemon --stop --oknodo --pidfile $PIDFILE (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |