php exec() 后台进程问题
我正在尝试使用以下命令在后台处理文件,但它不执行任何操作。
exec("php csv.php $file $user > /dev/null &", $output);
如果我删除,那么文件处理,但不是在后台。> /dev/null &
exec("php csv.php $file $user", $output);
有什么想法吗?
我正在尝试使用以下命令在后台处理文件,但它不执行任何操作。
exec("php csv.php $file $user > /dev/null &", $output);
如果我删除,那么文件处理,但不是在后台。> /dev/null &
exec("php csv.php $file $user", $output);
有什么想法吗?
注意:
如果程序使用此函数启动,为了使它继续在后台运行,必须将程序的输出重定向到文件或其他输出流。如果不这样做,将导致PHP挂起,直到程序的执行结束。
http://php.net/manual/en/function.exec.php
所以:
exec("php csv.php $file $user > /dev/null &"); // no $output
您是否考虑过使用屏幕?您可以启动在分离进程中运行的屏幕会话。输出将转到屏幕会话,您可以在另一个终端仍在运行时重新附加到该会话。
exec("screen -d -m -S my_php_session csv.php $file $user", $output);