【发布时间】:2012-12-17 04:41:39
【问题描述】:
我正在尝试编写一个 python 程序来测试用 C 编写的服务器。python 程序使用 subprocess 模块启动编译的服务器:
pid = subprocess.Popen(args.server_file_path).pid
这可以正常工作,但是如果 python 程序由于错误而意外终止,则生成的进程将继续运行。我需要一种方法来确保如果 python 程序意外退出,服务器进程也会被杀死。
更多细节:
- 仅限 Linux 或 OSX 操作系统
- 不能以任何方式修改服务器代码
【问题讨论】:
-
"由于错误" -- 什么样的错误?
-
网络错误、键盘中断等
-
supervisor 是一个用 Python 编写的开源进程管理守护进程。如果有时间,源代码可能值得一看。
标签: python process subprocess