python 子进程超时退出

一:循环 忙等 子进程结束

import subprocess
import os
import time
tt = ‘555‘
cmd = "python /home/100003/python/mypython/sub2.py "+" 333"+" 444 "+tt
print time.time()
sub2 = subprocess.Popen(cmd, shell=True)
while 1:
    ret1 = subprocess.Popen.poll(sub2)
    if ret1 == 0:
        print sub2.pid,‘end‘
        break
    elif ret1 is None:
        print  ‘running‘
        time.sleep(1)
    else:
        print sub2.pid,‘term‘
        break
print time.time()  
时间: 2024-10-12 04:40:42

python 子进程超时退出的相关文章

python subprocess模块 监控子进程的2种方式 忙等待和立即返回同时设置子进程超时

下面的资料是关于python subprocess模块 监控子进程的2种方式 忙等待和立即返回同时设置子进程超时时间的代码. import subprocess import os import time tt = '555' cmd = "python /home/100003/python/mypython/sub2.py "+" 333"+" 444 "+tt print time.time() sub2 = subprocess.Pope

python子进程模块subprocess详解与应用实例 之一

subprocess--子进程管理器? 一.subprocess 模块简介 subprocess最早是在2.4版本中引入的. subprocess模块用来生成子进程,并可以通过管道连接它们的输入/输出/错误,以及获得它们的返回值. 它用来代替多个旧模块和函数: os.system os.spawn* os.popen* popen2.* commands.* 关于这个模块可以取代的旧函数可以参见 subprocess-replacements 一节. POSIX用户(Linux, BSD, et

fork进程与Threading之超时退出

将任务放置在子进程或其他线程中执行,在子进程或其他线程执行超时,则父进程或主线程程序并退出 fork进程 import os import time import signal # 信号数和stack框架 def chldhandler(signum, stackframe): """ signal handler.Runs on the parent and is called whenever a child terminates.""" w

codeigniter 脚本执行超过300s超时退出问题

直接看代码, file:system/core/CodeIgniter.php /* 102  * ------------------------------------------------------ 103  *  Set a liberal script execution time limit 104  * ------------------------------------------------------ 105  */ 106     if (function_exis

Oracle会话超时退出设置

前一段时间客户打电话说自从数据库搬迁后连接数据库总是提示会话不可用,和客户沟通才知到他们连接数据库的程序是从早上连上数据库后就一直保持连接状态,一天中需要执行几次操作,由于数据库中的会话连接有超时限制,造成客户端长时间没有操作,就会断开连接.                经过这次事件总结了Oracle关于超时退出的一些设置: 1 profile的idle_time限制 2 profile的connect_time限制 3 sqlnet的expire_time限制 4 sqlnet的INBOUN

关于MySQL-Proxy子进程异常退出BUG修复

关于 MySQL-Proxy 子进程异常退出的问题,我已经在之前的博文中提到过: http://sofar.blog.51cto.com/353572/1398820 相关的错误信息如下图所示: 经查阅11号信号为SIGSEGV,表示进程执行了一个无效的内存引用或发生段错误,从而导致子进程异常退出. 我们知道 MySQL-Proxy 采用的是父子进程的模式,处理请求都是由子进程来完成的,而父进程只起到监控子进程的作用, 我们一般会在 MySQL-Proxy 的配置文件中添加"keepalive=

主进程被杀死时,如何保证子进程同时退出,而不变为孤儿进程(一)

在Python中,由于全局解释器锁GIL的存在,使得Python中的多线程并不能大大提高程序的运行效率(这里单指CPU密集型),那么在处理CPU密集型计算时,多用多进程模型来处理,而Python标准库中提供了multiprocessing库来支持多进程模型的编程.multiprocessing中提供了的Process类用于开发人员编写创建子进程,接口类似于标准库提供的threading.Thread类,还提供了进程池Pool类,减少进程创建和销毁带来开销,用以提高复用(见前文). 在多线程模型中

python有超时的windows系统时间设置代码

手边的笔记本用久了,cmos电池可能又没电了.每次开机时间都不对,导致访问一些有https的网页会出现警告信息. 于是找了找通过python脚本设置系统时间的方法,发现了两种,其一是调用socket直接发送udp包到国家授时中心,其二是调用ntplib包.我在本地电脑ping 国家授时中心地址cn.pool.ntp.org有时出现丢包,然而,二者都没有检查udp是否丢包的机制,方法一在udp丢包后一直处于阻塞状态无法退出,方法二虽然会提示超时,但是不再做其它尝试,比如重新发包,或者向同一个域名的

python socket 超时设置 errno10054

python socket.error: [Errno 10054] 远程主机强迫关闭了一个现有的连接.问题解决方案: 前几天使用python读取网页.因为对一个网站大量的使用urlopen操作,所以会被那个网站认定为攻击行为.有时就不再允许下载.导致urlopen()后,request.read()一直卡死在那里.最后会抛出errno 10054. 这 个错误是connection reset by peer.也就是传说的远端主机重置了此连接.原因可能是socket超时时间过长:也可能是req