Wenn bashich in ausführe:
cmd1 | cmd2 | ... | cmdi | ... | cmdn &
Wo cmd{1..n}kann das die PID von nicht unterscheiden cmdi? Wie kann ich alternativ den cmdiProzess signalisieren ? (Zum Beispiel ist es senden SIGUSR1?)
pkill/ pgrep, pidofUsw. sieht nicht aus wie gute Antworten, da andere Instanzen cmdivielleicht läuft, unter anderem als Teil der gleichen Pipeline. jobs -pgibt die PID von cmd1für mich.
ikann alles sein in {1..n}.
cat /var/run/out | nc -l 8080ist nur oberflächlich ähnlich zu cmd1 | cmd2? Ihre Einschränkung, dass Sie die Bare-Bones-Pipeline eingeben und dann die PIDs wiederherstellen möchten, ist (1) in der Frage nicht angegeben und (2) es ist unwahrscheinlich, dass eine gute, allgemeine Lösung möglich ist.
cmd1 | cmd2ist ein ganz besonderer Fall, in dem beide PIDs leicht erhältlich sind. Habe ich etwas über n gesagt? Warum würden Sie also n = 2 annehmen? Habe ich etwas darüber gesagt, was cmdi ist? Warum sollten Sie also annehmen, dass ich cmdi ändern könnte? Ich bitte um eine allgemeine Lösung und Sie legen Beschränkungen auf.