我有一个简单的socketServer
,它在主线程上工作得很好。在
#Server PORT
PORT = 8020
#reassign variables
Handler = Server #this is a SimpleHTTPHandler
httpd = SocketServer.TCPServer(("", PORT), Handler)
httpd.serve_forever()
我需要有这个运行在后台,有能力停止进程随意。正确的方法是什么?在
编辑
对不起,我不清楚。我需要让服务器不停地运行,我只能从SSH访问系统,这样我就不能直接启动它然后走开。在
假设您正在POSIX操作系统上运行脚本,并且您的脚本名为
socket_server.py
,那么可以使用nohup
,如下所示:这将把您的脚本放在后台,使其免受挂起的影响,您可以退出SSH会话。shell将打印出作业编号和PID:
^{pr2}$您可以稍后使用
^{3}$kill
发送一个SIGTERM来停止它:您可能需要线程
这基本上是在另一个线程上启动服务器函数。在
编辑: 在这个例子中,
def server():
是一个全局变量threadIsRunning
,如果它的值是True
,它应该继续,但是如果它的值是False
runthread.exit()
,这应该都在某种循环中。在相关问题 更多 >
编程相关推荐