重启Apache杀死后台进程

Pet*_*tah 5 php apache background-process

我有一个脚本startbg.php

echo `/usr/bin/php $dir/runbg.php >> $dir/logbg.txt 2>&1 &`;
Run Code Online (Sandbox Code Playgroud)

我从网络调用(通过 HTTP/Apache)。

runbg.php在后台进程中运行。

但是如果我重新启动 Apache ( /etc/init.d/apache2 restart),后台进程就会被杀死。

无论如何我可以让进程在后台运行吗?

Law*_*one 1

你可以打开一个PHP内部Web服务器的实例(从PHP 5.4.0开始,CLI SAPI提供了一个内置的Web服务器。)在我的测试中查杀httpd.exe没有效果php.exe:8000

<?php 
//Tested with windows

chdir('../php');
//S = Server, listen interface 0.0.0.0 = all : port 8000
//t = Served document root
echo `php -S 0.0.0.0:8000 -t C:\\xampp\\htdocs >> C:\\xampp\\htdocs\\logbg.txt 2>&1 &`;
?>
Run Code Online (Sandbox Code Playgroud)

所以可能(未经测试):

echo `/usr/bin/php -S 0.0.0.0:8000 -t /srv/www/yoursite.com/public_html >> /srv/www/yoursite.com/public_html/logbg.txt 2>&1 &$dir/runbg.php >> $dir/logbg.txt 2>&1 &`;
Run Code Online (Sandbox Code Playgroud)

但我不知道如何杀死它:s