파이프된 stdin을 다음 명령의 인수로 사용

파이프된 stdin을 다음 명령의 인수로 사용

한 명령의 출력을 다른 명령의 인수로 사용하는 방법은 무엇입니까? 나의 구체적인 예는 내가 얻고 싶은 것입니다PID프로세스는 이를 사용하여 options pgrep에 전달합니다 .-plsof

나는 다음과 같은 것을 시도했습니다.

  • pgrep myprocess | lsof -p /dev/stdin
  • pgrep myprocess | lsof -p -

나는 당신이 이것을 할 수 있다는 것을 알고 있습니다:

pid=$(pgrep myprocess) && lsof -p "$pid"

하지만 이를 수행하는 더 좋은 방법이 있어야 합니다. 어쩌면 xargs아니면 뭐? 깨끗한 것을 찾을 수 없었으므로 도움을 주시면 감사하겠습니다.

감사해요!

답변1

pgrep여러 PID가 반환될 수 있다고 가정합니다 .

$ pgrep mycommand | xargs -n 1 lsof -p

각 PID에 대해 lsof -pPID가 추가된 상태로 실행됩니다.

관련 정보