来自 php 脚本的 nohup 从 apache 服务了很长时间 运行 进程
nohup from php script served from apache for long running process
使用 exec
到 运行 来自 php 脚本的 nohup 是正确的方法,如果一个长 运行ning 动作需要 运行 但是Web 请求需要立即 return?我想从发出请求后 运行 秒的 php 脚本生成另一个进程。
示例:
exec ('nohup php long_running_script.php');
//Need this to return happen right away without waiting for long_running_script.php
echo json_encode(array('success' => TRUE));
如果主机上有 at 命令,我更喜欢使用:
putenv( 'SHELL=/bin/sh' );
print `echo /usr/bin/php -q full_path_to_script.php | /usr/bin/at now 2>&1`;
我会检查每个命令的路径以确保一切都正确执行:
echo exec( 'which at' );
使用 exec
到 运行 来自 php 脚本的 nohup 是正确的方法,如果一个长 运行ning 动作需要 运行 但是Web 请求需要立即 return?我想从发出请求后 运行 秒的 php 脚本生成另一个进程。
示例:
exec ('nohup php long_running_script.php');
//Need this to return happen right away without waiting for long_running_script.php
echo json_encode(array('success' => TRUE));
如果主机上有 at 命令,我更喜欢使用:
putenv( 'SHELL=/bin/sh' );
print `echo /usr/bin/php -q full_path_to_script.php | /usr/bin/at now 2>&1`;
我会检查每个命令的路径以确保一切都正确执行:
echo exec( 'which at' );