답변:
pgrep
및 pkill
유틸리티로, 썬의 솔라리스 7에 도입 된 g33klord가 언급 한 , 그들은 실행중인 프로세스의 이름에 대해 일치 인수로 패턴을. pgrep
일치하는 프로세스 목록을 인쇄하는 동안 pkill
지정된 신호 (또는 SIGTERM
기본적으로)를 프로세스에 보냅니다 . 일반적인 옵션 사이 의미 pgrep
하고 pkill
당신이 조심하고 처음으로 목록 매칭 프로세스를 검토 할 때 유용는 pgrep
다음과 그들을 죽일 진행합니다 pkill
. pgrep
및 pkill
상기에서 제공하는 procps의의 다른 제공하는 패키지 /proc
와 같은 파일 시스템 유틸리티, ps
, top
, free
, uptime
다른 사람의 사이를.
이 killall
명령은 psmisc 패키지에 의해 제공되며 pkill
기본적으로 프로세스 신호를 전송할 때 결정될 때 인수 이름과 정확히 일치합니다 (최초 15 자까지) 와 다릅니다 . -e
, --exact
옵션은 15 자보다 긴 이름을 정확히 일치를 필요로 지정 될 수 있습니다. 이것에 killall
비해 사용하기 가 다소 안전합니다 pkill
. 지정된 인수에 슬래시 ( /
) 문자 가 포함 된 경우 인수는 파일 이름으로 해석되고 해당 특정 파일을 실행하는 프로세스가 신호 수신자로 선택됩니다. killall
또한 -r
, --regexp
옵션을 통해 프로세스 이름의 정규식 일치를 지원합니다 .
다른 차이점도 있습니다. killall
예를 들어 명령 (나이 프로세스를 일치시키기위한 옵션이 있습니다 -o
, --older-than
그리고 -y
, --younger-than
동안) pkill
만합니다 (통해 특정 터미널에서 프로세스를 죽일 말 할 수 있습니다 -t
옵션을). 분명히 두 명령에는 특정 틈새가 있습니다.
있습니다 killall
시스템의 명령에서 자손 유닉스 시스템 V (특히 썬의 솔라리스 , IBM의 AIX 및 HP의 HP-UX가 ) 죽이고 모든 루트로 실행하면 효율적으로 시스템을 종료, 특정 사용자에 의해 killable 프로세스를.
Linux psmisc 유틸리티는 BSD (및 확장 Mac OS X ) 로 포팅 되었으므로 killall
"이름 별 킬 프로세스"시맨틱을 따릅니다.
killall -u <username> -r <process>
하거나 pkill <process> -U <uid>
사용 killall
하기가 훨씬 쉽다는 것입니다.