Php windows上的nohup,在不等待完成的情况下执行
Windows有类似的东西吗Php windows上的nohup,在不等待完成的情况下执行,php,windows,exec,Php,Windows,Exec,Windows有类似的东西吗 exec("nohup /usr/bin/php -f sleep.php > /dev/null 2>&1 &"); 这并不难(尽管有一些细微的差别)。。。您只需要使用COM对象: $shell = new COM("WScript.Shell"); $shell->run($command, 0, false); 就是这样…默认情况下,Windows命令不等待子进程。您可能希望使用/b开关来避免创建命令提示窗口 exec("
exec("nohup /usr/bin/php -f sleep.php > /dev/null 2>&1 &");
这并不难(尽管有一些细微的差别)。。。您只需要使用COM对象:
$shell = new COM("WScript.Shell");
$shell->run($command, 0, false);
就是这样…默认情况下,Windows命令不等待子进程。您可能希望使用
/b
开关来避免创建命令提示窗口
exec("start /b c:\\php\\php.exe -f sleep.php");
不完全正确。根据:它只在您启动GUI进程时才会等待。如果您正在启动一个控制台进程,它确实会等待(至少对于XP是这样说的)…有什么例外?尝试将其包装在
Try{$shell…}catch(异常$e){var_dump($e->getMessage(),$e->getCode());}
中以查看是什么导致了它…错误代码是什么?完全的错误是什么?您可以发布生成错误的代码的完整代码吗?好的,除了$shell->release()之外,您的方法可以工作;抛出exceptionMy命令的I/O重定向>somefile.txt
在我将%comspec%/c
添加到命令开头之前无法工作。回答很好,我花了一段时间才找到它,需要安装COM: