あなたのシェル(私の場合はbash)では、最後にバックグラウンドプロセスのPIDを$!変数:複合シェルコマンドのPID
command &
echo $!
しかし、私は複合コマンドに興味がある:この場合
commandA | commandB &
echo $!
、$の値! commandBのPIDと思われる。私が探しているのは、commandAのPIDです。それを得るための簡単な方法はありますか?
あなたのシェル(私の場合はbash)では、最後にバックグラウンドプロセスのPIDを$!変数:複合シェルコマンドの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を一覧表示します。
私は以前このコマンドを見たことがなかった。ありがとう! –
私はいくつかの良いアイデアを見つけました。最終的には、チェーン内の最初のプロセスのpidを引き出すための "ps | grep | awk" –