CentOS - killall komutu (belirli bir kalıpla eşleşen adlarla tüm işlemleri öldürmek için)


18

Yakın zamanda CentOS kullanmaya başladım. killallYardımcı programı kullanmaya çalıştım ama eksik buldum, command not foundkullanmaya çalışırken bir mesaj aldım . Örneğin, adları bir kalıpla eşleşen tüm işlemleri öldürebilmem için sistemime bu işlevselliği nasıl alabilirim?

Yanıtlar:


24

Yardımcı pkillprogram için çok daha iyi bir alternatiftir killall. killallkomutun davranışı işletim sistemlerinde çok farklı olduğundan taşınabilir değildir. pkilltaşınabilir ve her yerde aynı şekilde davranır. İşlemleri eşleştirmek için birçok farklı yol sağladığı için çok daha esnektir. Ayrıca, pgrepyardımcı programla aynı eşleşen davranışı ve argümanları paylaşır , bu da hangi işlemlerin gerçekten sinyal vermeden eşleştirileceğini ve sinyal verileceğini görmenizi sağlar.

Kullanımı: pkill foo(hangi ile aynı olurdu killall foo)


2
Bence bir kişinin yerine geçmek için tam olarak nasıl kullanılabileceğini göstermiş olsaydı daha iyi olurdu killall.
exebook

Yine pgrepde tüm uygulamalar -qsessiz olma seçeneğini desteklemez .
Kusalananda

ayrıca hangi paketin bir parçası olduğunu
açıklarsa

21

PSmisc , killalldiğer birkaç küçük ve kullanışlı araçla birlikte yardımcı programı içerir . İle kolayca eklenebilir

yum install psmisc

2

Patrick'in çözümüne ek olarak, killall komutunun işlevselliği aşağıdakilerle çoğaltılabilir:

pkill -15 [process name]

Örneğin, çalışan tüm memcached işlemlerini öldürmek için aşağıdakiler yazılır:

pkill -15 memcached

'-15', bir SIGTERM POSIX sinyalinin sayısal temsilidir. Bir işlemde tetiklenebilecek tüm POSIX sinyallerinin bir listesini almak için aşağıdaki komutu kullanın:

kill -l

Bu, aşağıdaki tabloyu döndürür:

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

Her sinyalin ne yaptığı hakkında daha fazla bilgiyi burada bulabilirsiniz .


Sinyali varsayılan olarak killallgöndermediğini unutmayın . TERMKILL
Kusalananda


1
İyi bir nokta. Düzenlenen.
Daniel Kay

Neden 'Umarım bu yardımcı olur!' Sonunda, @Rui F Ribeiro? Kibar olmaya karşı toplum kuralları var mı?
Daniel Kay

0

Ben systemd alternatif systemctl halt(kısaca systemctl isolate halt.target) olduğunu hayal ediyorum ?

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.