2011-12-29 14 views
8

में एक सेवा के रूप में पाइथन शुरू करें। मैंने एक .py स्क्रिप्ट शुरू करने के लिए एक विंडोज सेवा बनाई है।विंडोज़

sc create "Maraschino" binPath= "C:\HTPC\Maraschino\maraschino-cherrypy.py" DisplayName= "Maraschino" depend= "Tcpip" 

तो मैं जब मैं सेवा शुरू की कोशिश python.exe

Windows Registry Editor Version 5.00 
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Maraschino\Parameters] 
"AppDirectory"="C:\\Python27" 
"Application"="C:\\Python27\\python.exe C:\\HTPC\\Maraschino\\maraschino-cherrypy.py" 

हालांकि का उपयोग कर खोलने के लिए .py जोड़ने के लिए एक रजिस्ट्री कुंजी जोड़ दिया है मैं त्रुटि 193 0xc1 जो जब googled कि पता चला मिलता है यह एक वैध exe नहीं है जिसे मैं शुरू करने की कोशिश कर रहा हूं। मुझे पता है कि यह एक .exe नहीं बल्कि एक .py है और इसे python.exe के साथ खोलने के लिए लिंक करना चाहिए इसे ठीक करना चाहिए लेकिन मैं एक त्रुटि कर रहा हूं। किसी को भी क्या जब स्क्रिप्ट जोड़ने python.exe

धन्यवाद

+0

कोशिश के बजाय .pyc फ़ाइल बुला में सौंपा है। – Marcom

+0

@Marcom धन्यवाद, लेकिन यह काम नहीं करता है। यह एक ऐप है, इसलिए इसे सभी संकलित किया गया है और इसे चलाने के लिए maraschino-cherrypy.py काम करता है जब सेवाओं के माध्यम से डबल क्लिक नहीं किया जाता है –

+0

ये सभी डुप्लिकेट हैं: http://stackoverflow.com/search?q=python+windows+service –

उत्तर

17

आप Srvany.exe, जो Microsoft से एक उपकरण के कार्यों के इस प्रकार के लिए समर्पित है का उपयोग कर ऐसा कर सकते हैं की कोशिश कर सकते।

सबसे पहले, Windows Resource Kit डाउनलोड और स्थापित करें। नोट: आपको केवल srvany.exe की आवश्यकता है, जो विंडोज के सभी संस्करणों पर काम करता है।

यह मानकर कि विंडोज संसाधन किट सेल्सियस पर स्थापित किया गया था: \ Program Files \ Windows संसाधन किट \ रन:

sc create "[YourService]" binPath= "C:\Program Files\Windows Resource Kits\srvany.exe" 

अब, regedit चलाते हैं।

रजिस्ट्री संपादक संवाद में चयन HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services > [YourService]

[YourService] के साथ

चयन किया है, मारा संपादित करें> नया> टूलबार से कुंजी।

टाइप पैरामीटर्स और एंटर दबाएं।

टूलबार से संपादन> नया> स्ट्रिंग मान का चयन करें।

टाइप आवेदन और एंटर दबाएं।

एप्लिकेशन पर राइट-क्लिक करें और संशोधित करें का चयन करें।

C:\Python27\python.exe C:\[YourServicePath].py 

ठीक बटन दबाएं।

और उछाल! आपके पास एक अच्छी नई सेवा है।

+0

ठीक है धन्यवाद, मैं दूर जाने की उम्मीद कर रहा था कुछ भी इंस्टॉल किए बिना लेकिन यह काम करेगा। धन्यवाद –

+0

आपको वास्तव में कुछ भी इंस्टॉल नहीं करना है! बस srvany.exe प्राप्त करें (इसे एक बार इंस्टॉल करें और इसे पकड़ें, या इसे Google करें)। इसे अपने स्क्रिप्ट फ़ोल्डर में फेंक दें और इसे बिनपाथ सेट करें। हम उत्पादन वातावरण में यही करते हैं। – Ohad

+0

srvany.exe - नए पीसी के लिए जिनके पास विंडोज संसाधन किट नहीं है, वहां कैसे स्थापित करें? – YumYumYum

0

मैं कैसे अनुसूचित जाति काम करता है पता नहीं है का उपयोग करने के मैं गलत कर रहा हो सकता है, लेकिन मुझे लगता है कि जो किसी हद तक पैरामीटर भेजने के लिए होना चाहिए में किसी भी जानकारी है द्विआधारी के लिए, तो आप "सी: \ Python27 \ python.exe सी: \ HTPC \ Maraschino \ maraschino-cherrypy.py" को पंजीकृत करने का प्रयास कर सकते हैं।

तुम भी py2exe :)

0

@ ओहद के अपडेट।

  • डाउनलोड और इंस्टॉल करें विंडोज संसाधन किट: सभी Srvany.exe सबसे पहले सभी मशीनों

    चरण 1 के लिए तैनात किया जा रहा है।

  • जो मेरे बॉक्स में मिला था: सी: \ प्रोग्राम फ़ाइलें (x86) \ विंडोज संसाधन किट \ उपकरण \ srvany.exe।
  • फिर खुला कमांड प्रॉम्प्ट और मारा

    अनुसूचित जाति बनाने "[YourService]" binPath = "C: \ Program Files (x86) \ Windows संसाधन किट \ उपकरण \ Srvany.exe" शुरू = ऑटो DisplayName = "[ YourService मॉनिटर] "

    [अनुसूचित जाति] CreateService सफलता

चरण 2: उस पर निम्नलिखित सामग्री और डबल क्लिक के साथ एक file.reg बनाने

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\[YourService]\Parameters] 
"Application"="C:\\[YourService Executable].exe" 

चरण 3: अब सेवा शुरू करने और इसे निष्पादित करेंगे क्या कभी आप file.reg

हो गया