でbash
、私が実行すると:
cmd1 | cmd2 | ... | cmdi | ... | cmdn &
どこcmd{1..n}
明瞭ではないかもしれないが、どのように私はのPIDを得るのですかcmdi
?または、cmdi
プロセスにどのように通知できますか?(例えば、それを送信SIGUSR1
?)
pkill
/ pgrep
、pidof
などの良い答えのように見ていない、の他のインスタンスので、cmdi
多分、実行している同じパイプラインの一部として含みます。jobs -p
のPID cmd1
を私に与えます。
i
の何でもかまいません{1..n}
。
cat /var/run/out | nc -l 8080
だけ似ていcmd1 | cmd2
ますか?ベアボーンパイプラインを入力してPIDを回復するという制約は、(1)質問に記載されておらず、(2)優れた一般的なソリューションを可能にする可能性が低いです。
cmd1 | cmd2
両方のPIDを簡単に取得できる非常に特殊なケースです。nについて何か言いましたか?では、なぜn = 2と想定するのでしょうか。私はcmdiとは何かについて何か言いましたか?では、なぜcmdiを変更できると思いますか?私は一般的な解決策を求めており、あなたは制限を課しています。