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


Posted in Python onJanuary 16, 2017

我在跑爬虫程序的时候,由于爬虫程序的等待目标服务器返回数据的时间很长,而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掉它们的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python动态参数用法实例分析
May 25 Python
python统计cpu利用率的方法
Jun 02 Python
Python3中条件控制、循环与函数的简易教程
Nov 21 Python
python 3.6 +pyMysql 操作mysql数据库(实例讲解)
Dec 20 Python
Python实现数据可视化看如何监控你的爬虫状态【推荐】
Aug 10 Python
python实现栅栏加解密 支持密钥加密
Mar 20 Python
Python PIL读取的图像发生自动旋转的实现方法
Jul 05 Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
Jul 06 Python
PyTorch实现更新部分网络,其他不更新
Dec 31 Python
python打印文件的前几行或最后几行教程
Feb 13 Python
在python中利用dict转json按输入顺序输出内容方式
Feb 27 Python
用Python爬取英雄联盟的皮肤详细示例
Dec 06 Python
python 根据pid杀死相应进程的方法
Jan 16 #Python
总结python实现父类调用两种方法的不同
Jan 15 #Python
利用python程序帮大家清理windows垃圾
Jan 15 #Python
Python科学计算之NumPy入门教程
Jan 15 #Python
Python科学计算之Pandas详解
Jan 15 #Python
使用pyecharts无法import Bar的解决方案
Apr 23 #Python
详解Python3中字符串中的数字提取方法
Jan 14 #Python
You might like
简单解析PHP程序的运行流程
2016/06/23 PHP
PHP url的pathinfo模式加载不同控制器的简单实现
2016/08/12 PHP
JS将制定内容复制到剪切板示例代码
2014/02/11 Javascript
用jQuery实现的智能隐藏、滑动效果的返回顶部代码
2014/03/18 Javascript
Javascript小技巧之生成html元素
2014/05/15 Javascript
js修改onclick动作的四种方法(推荐)
2016/08/18 Javascript
jQuery中show与hide方法用法示例
2016/09/16 Javascript
javascript实现根据汉字获取简拼
2016/09/25 Javascript
jQuery插件Echarts实现的渐变色柱状图
2017/03/23 jQuery
vue-cli的webpack模板项目配置文件分析
2017/04/01 Javascript
详解.vue文件中监听input输入事件(oninput)
2017/09/19 Javascript
Angular如何由模板生成DOM树的方法
2019/12/23 Javascript
跟老齐学Python之有容乃大的list(3)
2014/09/15 Python
python监控网站运行异常并发送邮件的方法
2015/03/13 Python
python通过pil为png图片填充上背景颜色的方法
2015/03/17 Python
详解如何在python中读写和存储matlab的数据文件(*.mat)
2018/02/24 Python
python实现泊松图像融合
2018/07/26 Python
python调用opencv实现猫脸检测功能
2019/01/15 Python
python爬虫线程池案例详解(梨视频短视频爬取)
2021/02/20 Python
CSS3实现瀑布流布局与无限加载图片相册的实例代码
2016/12/22 HTML / CSS
解决H5的a标签的download属性下载service上的文件出现跨域问题
2019/07/16 HTML / CSS
乌克兰排名第一的在线旅游超市:Farvater.Travel
2020/01/02 全球购物
KTV的创业计划书范文
2014/02/02 职场文书
乡镇信息公开实施方案
2014/03/23 职场文书
物流专业自荐信
2014/05/23 职场文书
公司市场专员岗位职责
2014/06/29 职场文书
经济纠纷起诉状
2015/05/20 职场文书
单位收入证明范本
2015/06/18 职场文书
2016应届毕业生实习评语
2015/12/01 职场文书
远程教育学习心得体会
2016/01/23 职场文书
2016年第二十届“母亲节暨幸福工程救助贫困母亲活动日”活动总结
2016/04/06 职场文书
pdf论文中python画的图Type 3 fonts字体不兼容的解决方案
2021/04/24 Python
JS不要再到处使用绝对等于运算符了
2021/04/30 Javascript
Vue项目中如何封装axios(统一管理http请求)
2021/05/02 Vue.js
刚学完怎么用Python实现定时任务,转头就跑去撩妹!
2021/06/05 Python
使用Canvas绘制一个游戏人物属性图
2022/03/25 Javascript