用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 Web框架Flask中使用新浪SAE云存储实例
Feb 08 Python
Python虚拟环境virtualenv的安装与使用详解
May 28 Python
儿童编程python入门
May 08 Python
Anaconda2 5.2.0安装使用图文教程
Sep 19 Python
对Xpath 获取子标签下所有文本的方法详解
Jan 02 Python
对Python 简单串口收发GUI界面的实例详解
Jun 12 Python
Python基于OpenCV实现人脸检测并保存
Jul 23 Python
Python实现报警信息实时发送至邮箱功能(实例代码)
Nov 11 Python
Python 实现将numpy中的nan和inf,nan替换成对应的均值
Jun 08 Python
python软件都是免费的吗
Jun 18 Python
Python 防止死锁的方法
Jul 29 Python
Python MNIST手写体识别详解与试练
Nov 07 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作的文本留言本的例子(四)
2006/10/09 PHP
用文本文件制作留言板提示(上)
2006/10/09 PHP
PHP 身份验证方面的函数
2009/10/11 PHP
在smarty模板中使用PHP函数的方法
2011/04/23 PHP
php发送邮件的问题详解
2015/06/22 PHP
Javascript实现仿WebQQ界面的“浮云”兼容 IE7以上版本及FF
2011/04/27 Javascript
JavaScript获取Url里的参数
2014/12/18 Javascript
深入探讨JavaScript String对象
2015/03/09 Javascript
Nodejs 搭建简单的Web服务器详解及实例
2016/11/30 NodeJs
label+input实现按钮开关切换效果的实例
2017/08/16 Javascript
史上最全JavaScript常用的简写技巧(推荐)
2017/08/17 Javascript
vue 实现边输入边搜索功能的实例讲解
2018/09/16 Javascript
vue-router判断页面未登录自动跳转到登录页的方法示例
2018/11/04 Javascript
vue+ESLint 配置保存 自动格式化代码
2020/03/17 Javascript
有趣的JavaScript隐式类型转换操作实例分析
2020/05/02 Javascript
Python 字符串中的字符倒转
2008/09/06 Python
Python实现文件复制删除
2016/04/19 Python
python 调用win32pai 操作cmd的方法
2017/05/28 Python
VSCode下配置python调试运行环境的方法
2018/04/06 Python
python自定义函数实现最大值的输出方法
2019/07/09 Python
python+django+rest框架配置创建方法
2019/08/31 Python
Python中Subprocess的不同函数解析
2019/12/10 Python
使用python实现数组、链表、队列、栈的方法
2019/12/20 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
2020/02/25 Python
物流仓管员岗位职责
2013/12/04 职场文书
服装促销活动方案
2014/02/23 职场文书
社会治安综合治理管理责任书
2014/04/16 职场文书
施工质量承诺书范文
2014/05/30 职场文书
公司人事专员岗位职责
2014/08/11 职场文书
保护校园环境倡议书
2015/04/28 职场文书
2015年学校图书室工作总结
2015/05/19 职场文书
奥巴马开学演讲观后感
2015/06/12 职场文书
答谢酒会主持词
2015/07/02 职场文书
2019年干货:自我鉴定
2019/03/25 职场文书
导游词之云南省玉龙雪山
2019/12/19 职场文书
如何用JS实现简单的数据监听
2021/05/06 Javascript