python执行时间长被kill_用python记录运行pid,并在需要时kill掉它们的实例

我在跑爬虫程序的时候,由于爬虫程序的等待目标服务器返回数据的时间很长,而cpu占用很低,所以经常挂着代理一跑就跑好几百个。但是爬虫程序通常是写了死循环,或直到分配给该进程的任务都跑完才退出的。如果我们想中途结束掉这些任务,是没办法手工一个一个kill掉的。那么该如何结束这些进程呢?

我的方法就是在运行爬虫进程时,记录该进程的Pid,然后在需要手动结束时,再用语句kill掉它们。

for i in {1..100}

do

nohup python NetEase_comms_proxy.py > hehe.dat 2>&1 & echo $! >> run.pid

sleep 10

done

上述语句完成了将脚本在后台运行100便,并且将pid append到run.pid文件中。其中nohup 是 no hang up的缩写命令。do…done之间是被循环的语句。

接下来就是kill掉它们的语句了,我用的python

import os

if __name__ == '__main__':

fin = open('run.pid', 'r')

pids = []

for line in fin:

pids.append(line.strip())

for pid in pids:

cmd = 'kill ' + pid

os.system(cmd)

这样就把记录下来的pid全部kill掉了。

但需要注意的一点时,如果在任务运行期间,有的进程由于完成任务或者出错而退出。其他的程序可能会share这些进程的Pid,这样如果在运行kill脚本的时候,可能附带就把这些进程也给Kill掉了,造成不必要的麻烦。

以上这篇用python记录运行pid,并在需要时kill掉它们的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持萬仟网。

希望与广大网友互动??

点此进行留言吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/573544.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[UVA315]Network(tarjan, 求割点)

题目链接:https://uva.onlinejudge.org/index.php?optioncom_onlinejudge&Itemid8&pageshow_problem&problem251 求割点,除了输入用strtok和sscanf处理输入以外,对于求割点的tarjan算法有了进一步理解。 特别注意88行&#xff0…

pmw调光c语言程序,51单片机led灯渐变PWM调光(渐亮渐灭)C语言和汇编源程序

; PWM 控制 LED 灯渐亮渐灭程序; 适用 ME500 开发系统; 晶振为11.0592M; 利用定时器控制产生占空比可变的 PWM 波; 按K1,PWM值增加,则占空比减小,LED 灯渐暗。; 按K2,PWM值减小,则占空比增加,LED 灯渐亮。; 当PWM值增加到最大值或…

imgaug批量椒盐噪声 python_python手写给图像加椒盐噪声和高斯噪声

此文记录自己在做图像数据增强给图像加噪时遇到的一些情况。椒盐噪音:简单点说就是在图像中随机加一些白点或者黑点。from skimage import ioimport randomimport numpy as npdef salt_and_pepper_noise(img, proportion0.05):noise_img imgheight,width noise_img.…

万年历c语言设计报告,C语言实训题目设计报告 万年历

for(i1;i<startday;i){printf("\t");//把每月1日之前的空格打出来}for(i1;i<monthdays;i){printf("%d\t",i);if(i7*k-startday){printf("\n");k;}}}printf("\n\n");}void nianli(){int i,j,k,startday,monthdays,month,year;sys…

ERROR ITMS-90022,90023,问题已解决

昨天打包上架&#xff0c;在使用Application Loader上传包时出现ERROR ITMS-90022,90023这两个错误&#xff0c;在此记录一下。 ERROR ITMS-90023的错误解决方法比较简单&#xff0c;在Assets.xcassets中的AppIcon里面&#xff0c;将CarPlay内的图片删除即可。 ERROR ITMS-9002…

Gridiew——表的内容居中

添加如下代码&#xff1a;ItemStyle-HorizontalAlign"Center"例子&#xff1a;<asp:BoundField DataField"ID" HeaderText"账号" SortExpression"ID" ItemStyle-HorizontalAlign"Center"/>转载于:https://www.cnblogs…

c语言编程一个象棋游戏,急求:C语言编写的中国象棋游戏一个

急求&#xff1a;C语言编写的中国象棋游戏一个來源:互聯網 2009-09-08 12:30:35 評論分類: 電腦/網絡 >> 程序設計 >> 其他編程語言問題描述:由于学习需要......热烈欢迎个位大侠&#xff0c;高手相助&#xff01;小生在此道谢了&#xff01;&#xff01;&#x…

grunt 前端开发环境搭建

1.找管理员开通gitlab权限 2.下载并安装git工具 3.下载并安装nodejs 4.安装cnpm 5.安装kulor&#xff0d;cli cnpm install -g kulor-cli cnpm install -g grunt-cli cnpm install 6.安装nginx并运行 7.进入到工作目录 运行 grunt 补充如何从远程拉代码&#xff0c;在本地配…

获取referer中的请求参数_Servlet获取AJAX POST请求中参数以form data和request payload形式传输的方法...

本文实例讲述了Servlet获取AJAX POST请求中参数以form data和request payload形式传输的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;HTTP请求中&#xff0c;如果是get请求&#xff0c;那么表单参数以namevalue&name1value1的形式附到url的后面&#xff0c…

prim求最短路径C语言,[图论]Prim算法求最小支撑树和最短路径

这个是以前所学&#xff0c;现在总结成博文一篇。对于图论中的求解最小支撑树问题和最短路径问题都有比较经典的算法&#xff0c;比如最小支撑树可以采用“破圈法”&#xff0c;求解最短路径可以用“Dijkstra算法”。这里笔者将回顾下求解最小支撑树的Prim算法和最短路径算法。…

后台服务器端技术点(前沿了解)

1. OpenResty nginx lua 模式解决 高性能与开发效率 平衡。转载于:https://www.cnblogs.com/jhj117/p/5520250.html

pycharm镜像源_pycharm安装第三方库

点击蓝字关注我们hello&#xff0c;大家好&#xff0c;我是你们的小编大飞。小编一直在学习编程语言&#xff0c;挑选了很久之后决定入了python的坑(bushi)。而python之所以火&#xff0c;是因为它专注于如何解决问题、自由开放的社区环境以及丰富的第三方库。几乎可以这么说&a…

c语言实验指导,C语言实验指导

c语言实验用说,分享快乐!!!!《C语言程序设计》实验指导一、教师指导的实验实验1 (1)C语言上机指南和Visual C 6.0 的基本用法1. 实验目的了解VC开发环境。熟练掌握程序的基本开发过程。 掌握简单程序的设计。2. 实验内容和步骤 2.1. 进入C工作环境建立个人子目录&#xff1a;第…

JAVA并发七(多线程环境中安全使用集合API)

在集合API中&#xff0c;最初设计的Vector和Hashtable是多线程安全的。例如&#xff1a;对于Vector来说&#xff0c;用来添加和删除元素的方法是同步的。如果只有一个线程与Vector的实例交互&#xff0c;那么&#xff0c;要求获取和释放对象锁便是一种浪费&#xff0c;另外在不…

iptables nat表含义_十(4)iptables语法、iptables filter表小案例、iptables nat表应用

iptables语法filter表&#xff1a;INPUT链&#xff1a;作用于进入本机的包OUTPUT链&#xff1a;作用于送出本机的包FORWARD链&#xff1a;作用于和本机无关的包nat表&#xff1a;PREROUTING链&#xff1a;作用是包在刚刚到达防火墙时改变包的目标地址OUTPUT链&#xff1a;改变本…

c语言Max错误,C语言编程常见错误.pdf

C 语言常见错误版权声明&#xff1a;以下内容来自互联网C 语言的最大特点是&#xff1a;功能强、使 方便灵活。C 编译的程序对语法检查并不象其它高级语言那么严格&#xff0c;这就给编程人员留下 “灵活的余地”&#xff0c;但还是由于这个灵活给程序的调试带来了许多不便&…

算法训练 连续正整数的和

问题描述78这个数可以表示为连续正整数的和&#xff0c;123&#xff0c;18192021&#xff0c;252627。输入描述输入一个正整数 n(<10000)输出描述输出 m 行(n有m种表示法)&#xff0c;每行是两个正整数a&#xff0c;b&#xff0c;表示a(a1)...bn。对于多种表示法&#xff0c…

android libev 编译,libev-4.20编译安装及简单使用

1.源码下载地址:链接&#xff1a;https://pan.baidu.com/s/1fxotILo3oTMC65z4qFAh9Q 密码&#xff1a;oc312.库的编译与安装解压文件&#xff0c;进入文件目录编译的时候需要首先切换为管理员(root)账户&#xff0c;然后执行以下命令&#xff1a;./configuremakemake install编…

android系统源码的环境下用make来编译,Android源码编译系统入门

做过 Android 平台开发的朋友对make&#xff0c;mm或make clean命令应该很熟悉&#xff0c;但也许大家只是熟知这些命令的作用却不知道这些命令底下有些什么原理&#xff1f;那么今天我就带着大家推开Android编译系统的大门&#xff0c;探索一下这片未知的恐怖之森(问啥要用恐怖…

bootsrap 外边距_Bootstrap CSS 概览

Bootstrap CSS 概览在这一章中&#xff0c;我们将讲解 Bootstrap 底层结构的关键部分&#xff0c;包括我们让 web 开发变得更好、更快、更强壮的最佳实践。HTML 5 文档类型(Doctype)Bootstrap 使用了一些 HTML5 元素和 CSS 属性。为了让这些正常工作&#xff0c;您需要使用 HTM…