क्या '-9' कमांड को मारने का झंडा है?


14

क्या करता -9है?

यह वाक्य रचना में नहीं दिखता है:

$ kill
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
$

10
-9का एक उदाहरण है -sigspecयह करने के लिए बराबर है, -s 9या -n 9या -s KILLया -KILL
गिल्स एसओ- बुराई को रोकें '

जवाबों:


21

-9सिग्नल संख्या है (इस मामले में SIGKILL), इसलिए प्रश्न में एक प्रक्रिया को kill -9भेजता है SIGKILL

यह संकेत प्रक्रिया को तुरंत समाप्त करने का कारण बनता है (जब तक कि यह कर्नेल फ़ंक्शन में प्रतीक्षा नहीं कर रहा है)। सिग्नल को न तो नजरअंदाज किया जा सकता है और न ही सिग्नल प्राप्त करने के बाद प्राप्त करने की प्रक्रिया कोई सफाई कर सकती है (यानी इसके लिए सिग्नल हैंडलर SIGKILLनहीं कहा जाता है)। SIGKILL पर विकिपीडिया लेख भी देखें ।

मेरे killकमांड (लिनक्स) के मैन पेज से :

   The  default  signal  for  kill is TERM. Use -l or -L to list available
   signals.  Particularly useful signals include  HUP,  INT,  KILL,  STOP,
   CONT,  and  0.   Alternate  signals  may be specified in three ways: -9
   -SIGKILL -KILL.

संपादित करें : kill -l( bashअंतर्निहित कमांड) मेरे सिस्टम पर निम्नलिखित संकेत नाम और संख्यात्मक मान सूचीबद्ध करता है:

 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

1
डेबियन पर kill -lसंख्यात्मक मूल्यों को भी सूचीबद्ध करता है। आपका OS क्या है?
फहीम मीठा

दिलचस्प है, मैं उबंटू चला रहा हूं (जो कि डेबियन आधारित है जहां तक ​​मुझे पता है)। दूसरी ओर, मैंने अभी देखा कि कुछ संकेतों के man killलिए संख्यात्मक मानों की सूची है।
आंद्रे होल्जनर

खैर, killमें है procps, जो 1:3.2.8-9डेबियन निचोड़ में संस्करण है। और हां, उबंटू मूल रूप से डेबियन है। तो मुझे आश्चर्य है कि kill -lवही बात क्यों नहीं लौटती।
फहीम मीठा

1
यह पता चला है कि मैं zshअंतर्निहित killकमांड चला रहा था , न कि /bin/kill(जो वास्तव में आपके कहे अनुसार संख्यात्मक मूल्यों को सूचीबद्ध करता है)
आंद्रे होल्जनर

5
@FaheemMitha गोले के killनिर्माण की आवश्यकता के दो कारण हैं । यह killकमांड को जॉब नंबर या नाम (जैसे kill %1) स्वीकार करने की अनुमति देता है । और इसका killउपयोग करने की अनुमति देता है भले ही कुछ प्रक्रिया गिनती सीमा तक पहुंच गई हो।
गिलेस एसओ- बुराई को रोकना '

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