首页 > 解决方案 > 终端linux(Centos6):如何执行命令->在输出+日志文件+中获取PID而不等待?

问题描述

我试图在终端中运行一个应该具有这些功能的命令:

1) 仅输出 PID 而无需等待执行

2) 将日志 stdout 、 stderr 保存在文件中

我试过这个:

echo $! | php test.php | tee log.txt &2>&1 /dev/null

但它在标准输出和标准错误的终端上返回我的输出。那么不幸的是我们必须等待执行-.-

有人可以帮助我如何构建命令吗?

标签: linuxterminalcentosstdoutstderr

解决方案


您可以使用

(echo $! | php test.php | tee log.txt &2>&1 /dev/null) &

或者

 nohup (echo $! | php test.php | tee log.txt &2>&1 /dev/null) &

nohup运行不受挂断影响的命令,输出到非 tty


推荐阅读