CentOS - किलॉल कमांड (दिए गए पैटर्न से मेल खाने वाले नामों के साथ सभी प्रक्रियाओं को मारने के लिए)


18

मैंने हाल ही में CentOS का उपयोग शुरू किया है। मैं killallउपयोगिता का उपयोग करने का प्रयास करने के लिए गया था लेकिन मुझे यह याद आ गया, command not foundजब मुझे इसका उपयोग करने का प्रयास करते समय एक संदेश मिला । मैं अपने सिस्टम पर यह कार्यक्षमता कैसे प्राप्त कर सकता हूं ताकि मैं उदाहरण के लिए, उन सभी प्रक्रियाओं को मार सकूं जिनके नाम एक पैटर्न से मेल खाते हैं?

जवाबों:


24

pkillउपयोगिता के लिए एक बेहतर विकल्प है killallkillallपोर्टेबल नहीं है क्योंकि कमांड का व्यवहार ओएस के पार बहुत अलग है। pkillपोर्टेबल है और हर जगह समान व्यवहार करता है। यह बहुत अधिक लचीला भी है क्योंकि यह प्रक्रियाओं के मिलान के विभिन्न तरीकों को प्रदान करता है। यह pgrepउपयोगिता के समान मिलान वाले व्यवहार और तर्कों को भी साझा करता है , जो आपको यह देखने की अनुमति देता है कि वास्तव में सिग्नल के बिना कौन सी प्रक्रियाओं का मिलान और संकेत किया जाएगा।

उपयोग: pkill foo(जो जैसा होगा killall foo)


2
मुझे लगता है कि यह उत्तर बेहतर होता अगर यह दिखाया जाता है कि इसे बदलने के लिए इसका उपयोग कैसे किया जा सकता है killall
एक्सबुक

हालांकि शांत होने pgrepके -qविकल्प के समर्थन के सभी कार्यान्वयन नहीं ।
Kusalananda

यह भी बेहतर होगा कि अगर यह वर्णन किया जाए कि यह किस पैकेज का हिस्सा है
Xalorous

21

PSmisc में killallकुछ अन्य छोटे, उपयोगी उपकरण के साथ उपयोगिता शामिल है । यह बस के साथ जोड़ा जा सकता है

yum install psmisc

2

पैट्रिक के समाधान के आगे, किंडल कमांड की कार्यक्षमता को निम्नलिखित के साथ दोहराया जा सकता है:

pkill -15 [process name]

उदाहरण के लिए, सभी रनिंग मेमेकैक्ड प्रक्रियाओं को मारने के लिए, कोई निम्नलिखित लिखेगा:

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
अच्छी बात। संपादित।
डैनियल Kay

आपने 'केवल यही मदद करता है' को हटाने के लिए संपादन क्यों किया! अंत से, @ रुई एफ रिबेरो? क्या विनम्र होने की कोशिश के खिलाफ सामुदायिक नियम हैं?
डैनियल Kay

0

मुझे लगता है कि systemd विकल्प क्या है systemctl halt(छोटा है systemctl isolate halt.target)?

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.