为什么我的 python 进程不会死?

为什么我的 python 进程不会死?

我的服务器上有一个简单的 python 游戏脚本,它运行如下循环:

而 True :
  (( 监听数据包 ))
  (( 将数据包发送回所有连接的客户端 ))

我使用以下命令启动此脚本

./gameServer.py &

有时事情会变得很奇怪,我再次回到我的终端(PuTTy),但当我检查时脚本显然仍在运行ps

我试过了kill 3081(其中 3081 是 gameServer.py 脚本的进程 ID)但它不会死。

我是否应该执行 kill -9?这会产生不良副作用吗?为什么它不会死?

我在 Linux 2.6.24 上,Ubuntu 版本。

答案1

kill -9 将停止脚本。一个简单的 kill 命令将等待脚本正常停止,这永远不会在无限循环中发生。

你应该实现一些异常捕获机制来处理脚本失败。或者更好的是 - 用它创建一个 TSR 服务,而不是在一个简单的循环中运行

答案2

这个问题可能属于 StackOverflow,因为它与编程的关系比与系统管理的关系更大。但是您的程序处理 SigInt 信号了吗?

https://stackoverflow.com/questions/1112343/how-do-i-capture-sigint-in-python

相关内容