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