我有一个简单的Python游戏脚本在我的服务器上运行一个循环,如:
而真: ((监听数据包)) ((将数据包发送回所有连接的客户端))
我用这个脚本启动
./gameServer.py&
有时候事情变得很奇怪,我终于再次到达terminal(PuTTy),但是当我检查ps
时脚本仍然显示正在运行。
我试图kill 3081
(其中3081是gameServer.py脚本的进程ID),但它不会死。
我应该杀死-9吗? 会有不必要的副作用吗? 为什么不死?
我在Linux 2.6.24,Ubuntu的调味。
kill -9会停止脚本。 一个简单的kill命令将等待脚本正常停止,这将永远不会发生在无限循环中。
你应该实现一些exception捕获机制来处理脚本失败。 甚至更好 – 使TSR服务不在其中,而不是在简单的循环中运行
这个问题可能属于StackOverflow,因为它与系统pipe理员相关的编程更多。 但是,你的程序处理SigInt信号?
https://stackoverflow.com/questions/1112343/how-do-i-capture-sigint-in-python