在您的 shell(在我的情况下为 bash)中,您可以使用 $! 获取最后一个后台进程的 pid!多变的:
command &
echo $!
但是,我对复合命令感兴趣:
commandA | commandB &
echo $!
在这种情况下,$! 似乎是commandB的PID。我正在寻找的是commandA 的PID。有没有简单的方法来获得它?
jobs -l
将列出管道中每个成员的 PID。
看看这个问题: How to get the PID of a process that is piped to another process in Bash?
你应该在那里找到你需要的东西。