2009-02-05 5 views
54

मैं रिमोट मशीन में एक लंबा प्रोग्राम चला रहा हूं, और मैं इसे रोकना चाहता हूं, लेकिन मेरी समस्या यह है कि अगर मैं हत्या कमांड का उपयोग करता हूं तो प्रोग्राम परिणाम सहेजे बिना बाहर निकल जाएगा । आम तौर पर प्रोग्राम को समाप्त करने के लिए मैं क्या करता हूं ctrl c का उपयोग कर रहा है और उस स्थिति में प्रोग्राम परिणाम बचाता है, लेकिन अभी मैं उस सत्र में नहीं हूं जो सत्र चला रहा है, इसलिए मैं ctrl c नहीं कर सकता।प्रोग्राम को रद्द करने के लिए कमांड में ctrl c के समतुल्य

मेरा प्रश्न है: क्या ctrl c के समतुल्य रिमोट तरीके से करने का कोई तरीका है?

उत्तर

79

प्रयास करें:

kill -SIGINT processPIDHere 

मूल रूप से Ctrl सीSIGINT (व्यवधान) संकेत भेजता मार डिफ़ॉल्ट रूप से SIGTERM (समापन) संकेत भेजता है जबकि जब तक आप संकेत भेजने के लिए निर्दिष्ट करें।

+0

मैं प्रक्रिया पीआईडी ​​कैसे ढूंढूं? मैं अपने राउटर पर पिंग का परीक्षण करने के लिए एक वेब खोल का उपयोग कर रहा हूं और फिर मैं प्रक्रिया को मार नहीं सकता ... –

+1

@ एयरोवांग आप इस तरह 'पिंग' के लिए एक प्रक्रिया खोज चला सकते हैं:' ps aux | grep "पिंग" ', कॉलम में पहला नंबर पिड है। – adrianTNT

+0

दुख की बात है कि पिंग स्टडआउट जानकारी मानव इनपुट को खत्म कर देगी। @adrianTNT –

6

ctrl c बस एक सिगिनट सिग्नल भेजता है, लेकिन कुछ और संकेत हैं जो थोड़ा अधिक नरम हैं। http://www.gnu.org/software/libtool/manual/libc/Termination-Signals.html

मुझे लगता है कि आप कुछ अन्य सिग्नल भेजने के लिए हत्या आदेश का उपयोग कर सकते हैं। (देखें आदमी अधिक जानकारी के लिए मारने)

+0

अप्स फिरास असद ने मुझे 35 सेकेंड के साथ हराया ... – Johan

+0

गलत जानकारी के लिए वोट दिया गया जो पूरे प्रश्न के विपरीत भी है। Ctrl + C सिगकिल नहीं भेजता है। सिगकिल कर्नेल को पहले प्रक्रिया को किसी भी सिग्नल को भेजने के लिए प्रक्रिया को मारता है। – ypnos

4

आप लंबे समय से चल दूरस्थ प्रक्रिया को नियंत्रित हैं, तो आप SIGTERM के लिए एक संकेत हैंडलर इंस्टॉल सकता है (man signal और man sigaction देख सकते हैं और इस विषय पर सवाल अतः कई) अच्छी तरह से पहले सफाई करने के लिए, मर रहा है।

यह करना एक बहुत ही आम बात है।

0

अपने सिग्नल हैंडलर में भी ध्यान रखें, कि यह एक इंटरप्ट हैंडलर की तरह है कि आप बहुत सीमित हैं जो आपके बाकी कार्यक्रम को दूषित किए बिना इसमें करने की अनुमति है। सबसे अच्छी बात यह है कि आप यहां परमाणु_टी "चाहिए_क्विट" चर सेट कर सकते हैं।

संबंधित मुद्दे