CMD Master
ब्लॉग पर वापस जाएं
•अद्यतन•Arnošt Havelka

Bash में अटकी process को सुरक्षित तरीके से कैसे रोकें

Process और PID की पुष्टि करें, पहले SIGTERM भेजें, परिणाम जाँचें और SIGKILL केवल अंतिम विकल्प के रूप में उपयोग करें।

इंटरएक्टिव पाठ शुरू करें
Bash में अटकी process को सुरक्षित तरीके से कैसे रोकें

अटकी process को सुरक्षित रूप से रोकने के लिए पहले उसकी पहचान करें, नया process ID (PID) सत्यापित करें, सामान्य TERM signal भेजें और जाँचें कि वह बंद हुई या नहीं। KILL केवल graceful shutdown विफल होने पर उपयोग करें। Process termination lesson असली system को छुए बिना controlled process पर अभ्यास देती है।

Signal भेजने से पहले process की पुष्टि करें

पुराने message से PID copy करने के बजाय process list से शुरू करें:

ps -ef

PID को owner और पूरे command के साथ पढ़ें। यदि candidate PID 123 है, तो output सीमित करें:

ps -p 123 -o pid,ppid,user,stat,etime,command

123 को अभी देखे गए PID से बदलें। Process बंद होने के बाद PID दोबारा इस्तेमाल हो सकता है, इसलिए संख्या अकेले स्थायी प्रमाण नहीं है। समान नाम वाले कई workers भी हो सकते हैं।

टर्मिनल
~$kill 3456

पहले साफ़ shutdown माँगें

Positive PID की पुष्टि के बाद TERM भेजें:

kill -TERM 123

Plain kill 123 भी default रूप से TERM भेजता है। इससे application को files बंद करने, writes पूरी करने और cleanup handlers चलाने का अवसर मिलता है। थोड़ी देर बाद वही PID जाँचें:

ps -p 123 -o pid,user,stat,command

कोई row न आना आम तौर पर process के बंद होने का संकेत है। Row बची हो तो कारण slow cleanup, blocked I/O या supervisor द्वारा नया process शुरू करना भी हो सकता है। Escalate करने से पहले logs और service status देखें।

SIGKILL को अंतिम कदम रखें

यदि original process अभी भी मौजूद है, TERM को ignore करती है और target निश्चित है:

kill -KILL 123

KILL को application handle या ignore नहीं कर सकती। Operating system cleanup का अवसर दिए बिना process रोकता है, इसलिए partial writes, temporary files या child processes रह सकते हैं। यह underlying problem ठीक होने का प्रमाण नहीं है।

Positive PID ही उपयोग करें। 0, -1 या दूसरी negative value process group या बहुत व्यापक set को target कर सकती है। Match पूरी तरह समझे बिना broad pkill pattern न चलाएँ।

“Operation not permitted” मिले तो owner दोबारा जाँचें और केवल authorization होने पर sudo पर विचार करें। यदि process तुरंत लौटती है तो service manager या container orchestrator उसे restart कर सकता है।

ज्ञान जांच

1 / 1

Signal भेजने से ठीक पहले क्या सत्यापित करना चाहिए?

ps output समझने के लिए process list guide पढ़ें। Default signal और PID forms Bash job-control reference में documented हैं।

संदर्भ

ये दस्तावेज़ लिंक इस लेख में उपयोग किए गए कमांड के लिए आधिकारिक विवरण प्रदान करते हैं।

अगला

प्रोसेस गार्ड ड्रिल

प्रक्रियाओं (processes) को फ़िल्टर और प्रबंधित करें।