2012-08-28 10 views
5

im su Win7, ho iniziato un helloworld.py tutorial e tutto facendo bene, ma non so come uscire l'uso service.Icome spegnere il server cherrypy?

quit() 

ma riga di comando mi dà un messaggio di errore e exit.but il servizio è ancora in esecuzione e prendo la mia porta 8080. non avevo trovato il modo di spegnerlo manualmente.

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' 

risposta

4

Secondo this page, quit() non è appropriato per questo compito.

A seconda di come si esegue il server, è consigliabile utilizzare 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

includere questo nella vostra file di pitone.

@cherrypy.expose 

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

Quindi aggiungere un collegamento nella pagina.

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