CentOS-killall 명령 (지정된 패턴과 이름이 같은 모든 프로세스를 종료)


18

최근에 CentOS를 사용하기 시작했습니다. killall유틸리티 를 사용하려고 했지만 유틸리티 command not found를 사용하려고 할 때 메시지 가 표시되면서 누락되었습니다 . 예를 들어, 이름이 패턴과 일치하는 모든 프로세스를 종료 할 수 있도록 시스템에서이 기능을 사용하려면 어떻게해야합니까?

답변:


24

pkill유틸리티 는보다 나은 대안 killall입니다. killallOS의 명령 동작이 매우 다르기 때문에 이식성이 없습니다. pkill휴대용이며 어디에서나 동일하게 작동합니다. 또한 프로세스를 일치시키는 다양한 방법을 제공하기 때문에 훨씬 유연합니다. 또한 pgrep유틸리티 와 동일한 일치 동작 및 인수를 공유하므로 실제로 신호를 보내지 않고 어떤 프로세스가 일치하고 신호가 발생하는지 확인할 수 있습니다.

사용법 : pkill foo(와 동일 killall foo)


2
이 답변이 정확히 어떻게 그것을 대체 할 수 있는지 보여 주면이 답변이 더 나을 것이라고 생각합니다 killall.
exebook

모든 구현 이 조용한 옵션을 pgrep지원하는 것은 아닙니다 -q.
Kusalananda

어떤 패키지가 포함되어 있는지 설명하면 더 좋을 것입니다
Xalorous

21

PSmisc 에는 killall유틸리티와 함께 ​​몇 가지 작고 유용한 도구가 포함되어 있습니다. 간단하게 추가 할 수 있습니다

yum install psmisc

2

Patrick의 솔루션 외에도 killall 명령의 기능을 다음과 같이 복제 할 수 있습니다.

pkill -15 [process name]

예를 들어, 실행중인 모든 memcached 프로세스를 종료하려면 다음을 작성하십시오.

pkill -15 memcached

'-15'는 SIGTERM POSIX 신호의 숫자 표현입니다. 프로세스에서 발생 될 수있는 모든 POSIX 신호 목록을 얻으려면 다음 명령을 사용하십시오.

kill -l

다음 테이블이 반환됩니다.

1) SIGHUP       2) SIGINT       3) SIGQUIT      4) SIGILL       5) SIGTRAP
6) SIGABRT      7) SIGBUS       8) SIGFPE       9) SIGKILL      10) SIGUSR1
11) SIGSEGV     12) SIGUSR2     13) SIGPIPE     14) SIGALRM     15) SIGTERM
16) SIGSTKFLT   17) SIGCHLD     18) SIGCONT     19) SIGSTOP     20) SIGTSTP
21) SIGTTIN     22) SIGTTOU     23) SIGURG      24) SIGXCPU     25) SIGXFSZ
26) SIGVTALRM   27) SIGPROF     28) SIGWINCH    29) SIGIO       30) SIGPWR
31) SIGSYS      34) SIGRTMIN    35) SIGRTMIN+1  36) SIGRTMIN+2  37) SIGRTMIN+3
38) SIGRTMIN+4  39) SIGRTMIN+5  40) SIGRTMIN+6  41) SIGRTMIN+7  42) SIGRTMIN+8
43) SIGRTMIN+9  44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7
58) SIGRTMAX-6  59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2
63) SIGRTMAX-1  64) SIGRTMAX

각 신호의 기능에 대한 자세한 내용은 여기를 참조하십시오 .


참고 killall전송 TERM하지 기본적으로 신호를 KILL.
Kusalananda


1
좋은 지적. 편집했습니다.
Daniel Kay

왜 '도움이 되길 바랍니다!'를 제거하기 위해 편집 했습니까? 결국 @Rui F Ribeiro? 예의를 지키는 것에 반대하는 공동체 규칙이 있습니까?
Daniel Kay

0

나는 체계적 대안이 systemctl halt(약칭 systemctl isolate halt.target) 이라고 상상할 것 입니까?

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.