2012-08-28 14 views
5

im, मैं एक ट्यूटोरियल helloworld.py और सब कुछ ठीक करना शुरू कर दिया, लेकिन मैं नहीं जानता कि कैसे service.I उपयोग छोड़ने कीचेरीपी सर्वर को कैसे बंद करें? Win7 पर

quit() 

लेकिन कमांड लाइन मुझे एक त्रुटि संदेश देने के लिए और exit.but सेवा अभी भी चल रही है और मेरा 8080 बंदरगाह ले लो। मुझे इसे मैन्युअल रूप से बंद करने का कोई तरीका नहीं मिला था।

File "C:\python32\lib\site-packages\cherrypy\process\wspbus.py", line 197, in 
publish 
    output.append(listener(*args, **kwargs)) 
    File "C:\python32\lib\site-packages\cherrypy\_cpserver.py", line 151, in start 

    ServerAdapter.start(self) 
    File "C:\python32\lib\site-packages\cherrypy\process\servers.py", line 167, in 
start 
    wait_for_free_port(*self.bind_addr) 
    File "C:\python32\lib\site-packages\cherrypy\process\servers.py", line 410, in 
wait_for_free_port 
    raise IOError("Port %r not free on %r" % (port, host)) 
IOError: Port 8080 not free on '0.0.0.0' 

उत्तर

4

this page के अनुसार, quit() इस कार्य के लिए उपयुक्त नहीं है।

कैसे आप अपने सर्वर चलाने के आधार पर आप cherrypy.engine.exit उपयोग करने पर विचार करना चाहिए:

>>> help(cherrypy.engine.exit) 
exit(self) method of cherrypy.process.win32.Win32Bus instance 
    Stop all services and prepare to exit the process. 
4

अपने अजगर फ़ाइल में इस को शामिल करें।

@cherrypy.expose 

def shutdown(self): 
    cherrypy.engine.exit() 

फिर अपने पृष्ठ पर एक लिंक जोड़ें।

<a id="shutdown"; href="./shutdown">Shutdown Server</a>