python进程无故死掉_停止python子进程留下死的“python”进程

我正在开发一个python程序,它必须运行(可能大量)其他python程序(用于一些负载测试)。其中一些是短暂的,另一些则持续时间更长。我希望短生命的进程在完成后终止并消失,但是每个进程似乎都会留下一个死的“(Python)”进程,直到原始程序完成。在

平台是OSX,Python2.7.6。在

下面是一些简单的演示程序,可以显示问题:#!/usr/bin/env python

# Child Process: Started by parent...

import time

print "Hello from child!"

time.sleep(10)

print "Child finished."

exit(0)

以及父程序:

^{pr2}$

我从终端运行“父”程序/父级.py". 以下是输出(如预期):Starting Child...

Parent Process... hanging around.

Hello from child!

Child finished.

最初,“ps”命令显示:

“ps”命令显示:782 ttys002 0:00.03 python ./parent.py

783 ttys002 0:00.02 python ./child.py

这很有道理。。。父进程已启动子进程。在

10秒后,孩子如期结束,然后“ps”显示:782 ttys002 0:00.03 python ./parent.py

783 ttys002 0:00.00 (Python)

“783”会一直挂起,直到父进程结束,即使python程序已经完成了“exit(0)”。在

一旦这个过程完成了,有没有什么方法可以真正终止/摆脱这个过程?我在想,如果我在很长一段时间内启动数百个甚至数千个短暂的进程,这可能是个问题。在

我尝试过subprocess()、Popen(如图所示),还使用fork()和execl(),但它们总是以相同的行为结束。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值