stderr 和 stdout 在单独的文件中


stderr and stdout in separate files

我正在使用这篇文章的答案,但我想为stderr获取一个文件,为stdout获取一个文件。

这是我目前拥有的:

exec(sprintf("%s > %s 2>&1 & echo $! >> %s", $cmd, $outputfile, $pidfile));

请问一个适当的问题,因为我真的不知道你的意思。我假设您要将输出和错误文件分开?

如果你想要 stdout 和 stderr 的单独文件,你需要删除重定向2>&1(这会将 stderr 重定向到 stdout)。

exec(sprintf("%s > %s 2>%s & echo $! >> %s", $cmd, $outputfile, $errorfile, $pidfile));