如何运行nohup并将pid输出到top命令?我使用类似nohup mycommand 2>&1 & | top -p
的命令,但是终端显示类似syntax error near unexpected token |'
的信息。
答案 0 :(得分:1)
您不能将后台进程的输出通过管道传输到前台进程。另外,启动后台进程时打印的PID并非来自进程本身,而是由外壳程序打印的,因此无论如何也不会在管道中。
top -p
不会从标准输入中读取PID,它必须是程序的参数。
变量$!
包含最近的后台进程的PID。
nohup mycommand 2>&1 &
top -p $!
答案 1 :(得分:-1)
尝试仅获取数字,例如 nohup mycommand 2>&1&| grep'[0-9]'| -p