我使用exec()来执行命令,无论是Linux或Windows。
你如何执行一个命令,Linux和Windows,并输出而不等待?
我知道对于Linux来说,不要等待输出: command* > /dev/null 2>/dev/null &
并logginglinux的输出: command* > /path/to/log.txt 2>/path/to/error.txt
你将如何去logging和设置一个命令的背景? 窗户怎么样?
在Linux上你可以做:
exec('command* > /dev/null 2>/dev/null &');
在Windows上,你可以这样做:
pclose(popen('start /B cmd /C "command* >NUL 2>NUL"', 'r'));
这两个例子禁用输出和错误,那些去/dev/null
(linux)或NUL
(窗口),这意味着他们存储“无处”。
您可以将它们替换为系统上的有效路径。
在Linux上, &
最后将其置于后台。 在Windows上,这是更复杂的,需要start
调用进程和cmd
来允许重定向的流。