에서 bash
에 다음을 실행하면
cmd1 | cmd2 | ... | cmdi | ... | cmdn &
어디에서 cmd{1..n}
구별되지 않을 수 cmdi
있습니까? PID는 어떻게 얻 습니까? 또는 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를 수정할 수 있다고 가정합니까? 나는 일반적인 해결책을 요구하고 있으며 당신은 제한을 부과하고 있습니다.