linux下的firefox老崩溃,每次自动退出后,后台总会有好几个firefox进程在运行,原来的做法是
ps ax | grep firefox
然后用 kill -9 [pid] 把查出来的进程一个个杀掉
无聊之中,想到用 python做了个交互式的kill
#!/usr/bin/python
from subprocess import *
import os
import sys
def show_ps(ps_name):
if ps_name :
p1 = Popen(["ps","ax"], stdout=PIPE)
p2 = Popen(["grep", ps_name], stdin=p1.stdout, stdout=PIPE)
output = p2.communicate()[0]
else :
p1 = Popen(["ps","ax"], stdout=PIPE)
output = p1.communicate()[0]
ps_num={}
for index,line in enumerate(output.split("\n")):
if (line.strip() == ""): continue
pid=line.split()[0]
print "[%d] %s" % (index, line )
ps_num[index]=pid
return ps_num
def main(ps_name):
while True:
ps_num=show_ps(ps_name)
reply = raw_input("enter a number to kill process, enter q quit.")
if reply=="":
break
else :
os.system("kill -9 "+ps_num[int(reply)])
if __name__ == '__main__':
ps_name=None
if len(sys.argv) >= 2 :
ps_name=sys.argv[1]
main(ps_name)
分享到:
相关推荐
`Popen` 提供了更多的控制选项,适合需要处理子进程输出或进行交互式操作的场合;而 `subprocess.run()` 则在易用性和灵活性之间找到了一个平衡点,是现代Python编程中的首选。在实际使用中,应根据项目需求选择最...
- `python` 或 `python3`:启动Python解释器,交互式编程。 - `python script.py`:运行Python脚本。 - `pip`:Python的包管理器,用于安装、升级和卸载库。 在学习过程中,结合实际操作,理解和记忆这些命令,...
课程可能会涵盖HTML、CSS和JavaScript的基础知识,这些都是构建交互式Web应用的基石。你将学习如何构建结构化的网页,应用样式,以及通过JavaScript实现动态功能。 5. **MySQL数据库**:MySQL是广泛使用的开源关系...
1.5.1 命令行上的交互式解释器 1.5.2 从命令行启动脚本 1.5.3 集成开发环境 1.5.4 其他的集成开发环境和执行环境 1.6 Python文档 1.7 比较Python(Python与其他语言的比较) 1.8 ...
- 退出Python交互式环境可以使用`Ctrl + Z`,然后按`Enter`。 - 安装Django可以通过命令行进入Python环境并执行`python setup.py install`来完成安装。 - 将Django安装路径添加到系统的环境变量`Path`中,如:`C:...
* 交互式:使用 Python 解释器进行交互式编程 * 文件方式:将 Python 代码写入文件中 * 集成开发环境:使用 IDE 进行 Python 开发 * 导入模块:使用 import 语句导入模块 2.2 Python 输入与输出、赋值语句、数据...
Jupyter Notebook 是一个基于 Web 的交互式计算环境,它可以用来编写和运行 Python 代码。Jupyter Notebook 的优点是可以实时显示计算结果,并且可以插入图像、公式等多媒体内容。 Windows 下的文本编辑与编码需要...
1.5.1 命令行上的交互式解释器 . 1.5.2 从命令行启动脚本 1.5.3 集成开发环境 1.5.4 其他的集成开发环境和执行环境 1.6 python文档 1.7 比较python(python与其他语言的比较) 1.8...
1.5.1 命令行上的交互式解释器 . 1.5.2 从命令行启动脚本 1.5.3 集成开发环境 1.5.4 其他的集成开发环境和执行环境 1.6 python文档 1.7 比较python(python与其他语言的比较) 1.8...
将远程文件名加上数字地点:切换到某个单机,或者切换到某个机器组addgrp:动态机器分组fab shellcmd:在所有远程主机上执行shellcmd命令,例如ls,php test.php,kill,ps等fab vim test.txt:依次打开所有远程主机...
4. **subprocess模块**: 功能最强大,支持非阻塞式执行、交互式操作等多种高级功能。 ##### 示例代码 下面是一个使用`subprocess`模块监控命令执行过程并处理超时情况的例子: ```python import time import ...
9. `rm`:删除文件,`rm -f`强制删除,`rm -i`交互式删除。 二、文本处理 1. `cat`:查看或连接文件内容,如`cat file.txt`显示file.txt的内容。 2. `more`/`less`:分页查看文件内容,`less`支持上下滚动和搜索...
在Python编程领域,pexpect是一个强大的自动化工具,它使得与交互式应用程序进行通信变得简单。这个模块的核心功能是能够启动一个子进程,并控制它的输入和输出,等待预期的输出,这正是“pexpect”名称的由来。本文...
- **功能**: 杀死指定PID的进程、所有指定名称的进程、强制杀死指定PID的进程、强制杀死所有指定名称的进程以及交互式杀死进程。 - **示例**: 运行`#kill -9 1234`强制杀死PID为1234的进程。 #### 19. 查看系统资源...
在Python开发中,Flask是一个轻量级的Web服务程序框架,它允许开发者轻松地创建交互式的Web应用。然而,在实际使用过程中,可能会遇到端口失效或者端口冲突的问题,导致应用无法按照预期在指定的端口上运行。本文将...
- 用户交互式请求创建新进程。 - 批处理作业初始化。 在Python的`multiprocessing`模块中,我们可以使用`Process`类来创建进程,如下: ```python from multiprocessing import Process def worker_function(): ...
- **功能**:一个交互式的软件包选择工具,用于管理软件包。 - **示例**:`dselect`, 启动交互式软件包选择工具。 5. **apt-get autoclean** - **功能**:清理旧的、已下载的软件包文件。 - **示例**:`sudo ...
通过进入Django的交互式shell: ```bash python manage.py shell ``` 我们可以导入模型并进行各种数据库操作,如增加、查看、修改和删除数据。 ```python from app1.models import App1 # 创建数据 App1.objects...