繁体   English   中英

PHP无需等待即执行命令和日志输出

[英]PHP execute command and log output without waiting

我使用exec()执行命令,无论是linux还是windows。

如何执行命令,linux和Windows,并在不等待的情况下记录输出?

我知道对于linux,不要等待输出: command* > /dev/null 2>/dev/null &

并记录linux的输出: command* > /path/to/log.txt 2>/path/to/error.txt

你会如何在一个命令中记录并将其设置为后台? 窗户怎么样?

在Linux上你可以做到:

exec('command* > /dev/null 2>/dev/null &');

在Windows上,您可以:

pclose(popen('start /B cmd /C "command* >NUL 2>NUL"', 'r'));

这两个示例都禁用了输出和错误,这些都是/dev/null (linux)或NUL (windows),这意味着它们存储在“无处”。

您可以使用系统上的有效路径替换它们。

在Linux上,a &最后将它置于后台。 在Windows上,这更复杂,需要start调用进程和cmd以允许重定向流。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM