pgrep을 Kill과 연결할 수 있나요?

pgrep을 Kill과 연결할 수 있나요?

|첫 번째 명령의 결과를 다른 명령으로 보내는 데 사용되는 것으로 나타났습니다 . 이름과 일치하는 모든 프로세스를 종료하고 싶습니다.
pgrep이 일반적으로 수행하는 작업은 다음과 같습니다.

$ pgrep name
5089
5105

그리고 여러 매개변수가 다음과 같은 경우에 작동하는 것 같습니다 kill.

sudo kill 5089 5105

그러나 이것은 잘못된 것입니다:

pgrep name | kill

그렇다면 올바르게 수행하는 방법은 무엇입니까?

답변1

이 시도:

pgrep name | xargs kill

을 사용하면 pgrep name | kill의 출력이 pgrep namestdin 으로 공급됩니다 kill. kill매개변수가 stdin에서 읽히지 않기 때문에 이것은 작동하지 않습니다.

표준 입력에서 인수를 작성 xargs하는 를 사용하십시오 . kill예:

$ pgrep bash | xargs echo
5514 22298 23079

답변2

이것은 작동합니다:

pkill name

또한 매뉴얼 페이지를 읽는 것이 좋습니다.

답변3

구체적인 질문보다는 일반적인 질문에 답변해 드립니다.

파이프는 프로그램의 출력을 다음과 같이 전달하는 데 사용됩니다.입력하다다른 프로그램으로.

프로그램의 출력을 다음과 같이 사용하려는 것 같습니다.명령줄 매개변수다른 프로그램에서는 다릅니다.

이렇게 하려면 다음을 사용하세요.명령 대체.

예를 들어, 실행하려는 경우

sudo kill 5089 5105

pgrep name출력하는 명령이 있습니다.5089 5105

당신은 그것들을 다음과 같이 합쳤습니다.

sudo kill $(pgrep name)

관련 정보