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

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



답변

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

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


답변

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

yum install psmisc


답변

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

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


답변

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


답변