2013-08-14 5 views
8

प्रलेखन से Process.kill के लिए:विंडोज पर कौन सी प्रक्रिया.किल सिग्नल उपलब्ध हैं?

निर्दिष्ट प्रक्रिया आईडी (रों) के लिए दिया संकेत भेजता है, तो पीआईडी ​​ सकारात्मक है। यदि पिड शून्य सिग्नल उन सभी प्रक्रियाओं को भेजा जाता है जिनके समूह आईडी प्रक्रिया की समूह आईडी के बराबर है। संकेत एक पूर्णांक सिग्नल नंबर या एक POSIX सिग्नल नाम हो सकता है (या तो SIG उपसर्ग के साथ या उसके बिना)। अगर संकेत नकारात्मक है (या एक ऋण चिह्न के साथ शुरू होता है), प्रक्रियाओं के बजाय प्रक्रिया समूहों को मारता है। सभी प्लेटफ़ॉर्म पर सभी सिग्नल उपलब्ध नहीं हैं।

ठीक है, यह बहुत अस्पष्ट है। किन प्लेटफॉर्म पर कौन से सिग्नल उपलब्ध हैं? क्या विंडोज़ पर कोई सिग्नल उपलब्ध है?

(मैं विंडोज पर Process.kill(9, pid) की कोशिश की पहले और यह एक त्रुटि फेंक नहीं किया। यह या तो हालांकि प्रक्रिया को मारने नहीं था ... लेकिन Process.kill("TERM", pid) एक त्रुटि फेंक था। आंकड़ा जाओ।)

+1

नायब कि यह मूल रूप से "नकली" खिड़कियों में से linux बराबर करने के लिए "बराबर व्यवहार प्रदर्शन" संकेत है। .. – rogerdpack

उत्तर

16

की अच्छी जिक्र नहीं है मुझे लगता है कि मैं एक समाधान मिल गया। पता लगाने के लिए अपने वर्तमान मंच का समर्थन करता है का संकेत, इस चलाएँ:

ruby -e "puts Signal.list" 

विंडोज पर:

{"EXIT"=>0, "INT"=>2, "ILL"=>4, "ABRT"=>22, "FPE"=>8, "KILL"=>9, "SEGV"=>11, "TERM"=>15} 
2

इस अनुच्छेद में

http://blog.robseaman.com/2008/12/12/sending-ctrl-c-to-a-subprocess-with-ruby

process.kill और उसके कायापलट तंत्र

+0

लिंक –

+0

ग्रेट आलेख को संशोधित किया गया। यह थोड़ा पुराना है, लेकिन वहां बहुत अच्छी चीजें हैं। – Ajedi32

+0

आलेख बहुत पुराना है, अब 'Process.spawn' में विंडोज़ के लिए' new_pgroup' विकल्प है। मुझे आश्चर्य है कि अगर मार डालें (-ग्रुप) 'अब विंडोज़ पर काम करता है। लेकिन मेरे पास विंडोज़ वातावरण आसान नहीं है और मैं विंडोज़ मशीन ढूंढने के लिए बहुत अनिच्छुक हूं और परीक्षण करने के लिए सामान इंस्टॉल करता हूं। – akostadinov

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