In bash, ben çalıştırırsanız:
cmd1 | cmd2 | ... | cmdi | ... | cmdn &
nerede cmd{1..n}farklı olmayabilir, nasıl PID alabilirim cmdi? Alternatif olarak, cmdisüreci nasıl işaret edebilirim ? (Örneğin, gönderilsin mi SIGUSR1?)
pkill/ pgrep, pidofVb. İyi yanıtlar gibi görünmez, çünkü cmdiaynı boru hattının bir parçası da dahil olmak üzere belki de çalışan diğer örnekler . benim jobs -piçin PID veriyor cmd1.
iherhangi bir şey olabilir {1..n}.
cat /var/run/out | nc -l 8080sadece yüzeysel olarak benzer etmek cmd1 | cmd2? Çıplak kemikler boru hattını yazmak ve daha sonra PID'leri kurtarmak istediğiniz kısıtlamanız (1) soruda belirtilmemiş ve (2) iyi, genel bir çözüme izin verme olasılığı düşüktür.
cmd1 | cmd2her iki PID'nin de kolayca elde edilebildiği çok özel bir durumdur. N hakkında bir şey söyledim mi? Öyleyse neden n = 2 olduğunu varsayalım? Cmdi'nin ne olduğu hakkında bir şey söyledim mi? Peki neden cmdi'yi değiştirebileceğimi varsayalım? Genel bir çözüm istiyorum ve siz kısıtlamalar uyguluyorsunuz.