如何将nohup pid置于顶部命令?

时间:2019-01-24 02:28:33

标签: linux shell

如何运行nohup并将pid输出到top命令?我使用类似nohup mycommand 2>&1 & | top -p的命令,但是终端显示类似syntax error near unexpected token |'的信息。

2 个答案:

答案 0 :(得分:1)

您不能将后台进程的输出通过管道传输到前台进程。另外,启动后台进程时打印的PID并非来自进程本身,而是由外壳程序打印的,因此无论如何也不会在管道中。

top -p不会从标准输入中读取PID,它必须是程序的参数。

变量$!包含最近的后台进程的PID。

nohup mycommand 2>&1 &
top -p $!

答案 1 :(得分:-1)

尝试仅获取数字,例如 nohup mycommand 2>&1&| grep'[0-9]'| -p