在你的shell(在我的情况下是bash)中,你可以用$!获得最后一个后台进程的pid。变量:复合shell命令的PID
command &
echo $!
不过,我感兴趣的是一个复合命令:
commandA | commandB &
echo $!
在这种情况下,$的价值!似乎是commandB的PID。我在找的是commandA的PID。有没有简单的方法来获得它?
在你的shell(在我的情况下是bash)中,你可以用$!获得最后一个后台进程的pid。变量:复合shell命令的PID
command &
echo $!
不过,我感兴趣的是一个复合命令:
commandA | commandB &
echo $!
在这种情况下,$的价值!似乎是commandB的PID。我在找的是commandA的PID。有没有简单的方法来获得它?
,看一下这个问题: How to get the PID of a process that is piped to another process in Bash?
你会发现你需要那里。
jobs -l
将列出每个管道成员的PID。
我以前从未见过这个命令。谢谢! – 2010-12-13 02:33:57
我确实在那里找到了一些好点子,最终我想用一个“ps | grep | awk”解决方案来拉动链中第一个进程的pid。 – 2010-12-13 02:33:26