首页 > 系统相关 >Python程序执行shell命令并关闭进程-总结

Python程序执行shell命令并关闭进程-总结

时间:2023-01-11 22:13:32浏览次数:48  
标签:shell Python 程序执行 print 进程 import os

需求说明

linux下,有时候我们用Python3执行一个shell命令,这会开启一个进程。
但是这个进程可能能不会主动关闭(比如Linux下的ping指令会一直持续执行),我们希望这个进程执行指定时间后就终止。
重点不是开启一个进程执行shell指令,是找到进程号,并精准杀死这个进程,找了好多资料才试验成功,这里做一个记录。

代码

Python3:

#!/usr/bin/python3
import subprocess
import time
import os
import signal

cmd = 'ping www.baidu.com' #替换为你想要执行的指令
p = subprocess.Popen(cmd, shell=True, preexec_fn=os.setsid)

print("PID: ",p.pid)
print("Sleep now...")
time.sleep(15)  # 假设我们指定程序执行15s,然后杀死它

p.terminate()
p.wait()
os.killpg(p.pid, signal.SIGTERM)
print("End") 

标签:shell,Python,程序执行,print,进程,import,os
From: https://www.cnblogs.com/Higgerw/p/17045031.html

相关文章

  • python+mysql—高效的数据处理方案
    python+mysql——高效的数据处理方式使用场景大规模数据处理;多个任务可以并发执行;需要保存结果;为实现以上三个要求,就需要充分利用服务器中的多核资源,让程序高效并发执......
  • python读取cmd命令行
    importosimportuiautomationasautoimportwin32clipboardasclipboardimportwin32condefgetCopy():clipboard.OpenClipboard()res=clipboard.GetC......
  • python学习_PIL的Image模块初步使用
    基本介绍:Pillow是Python中较为基础的图像处理库,主要用于图像的基本处理,比如裁剪图像、调整图像大小和图像颜色处理等。与Pillow相比,OpenCV和Scikit-image的功能更......
  • python 类初始化的注意事项
    自己写了一个Chessboard类:classChessboard(VGroup):def__init__(self,shape:tuple=(8,8),height:float=1,width:......
  • Python学习笔记-常用模块介绍--时间模块
    1.时间模块分为哪三种格式?1.时间戳2.格式化字符串3.结构化时间 2.时间的示例#1.时间戳---常用于运算的print(time.time())#2.格式化字符串---用于显示,方......
  • Python学习笔记-常用模块介绍--猴子补丁
    1.什么是猴子补丁?属性在运行时的动态替换,叫做猴子补丁(MonkeyPatch)【发音ˈmʌŋkipætʃ】是一种思想,应用于团队引用了公共模块,想丰富模块,就在入口打这种“猴子补......
  • Shell要下载一个连接下的所有文件该怎么实现
    在安装某一个东西的时候,常常需要下载某个连接下的所有文件,比如:这个时候可以通过编写代码,或堆脚本来实现,但是wget这个工具可以非常巧妙的实现这个需求,wget--mirror-p......
  • Python环境配置
    打开命令窗口三种方法:1.win+rcmd2.我的电脑cmd3.搜索命令提示符打开输入python进入交互式界面pipinstall(安装)request(爬虫模块)输入exit()退出pip下载他人的代码使用(类......
  • 【接口自动化测试】Python基础-字符串格式化
    """字符串格式化"""name='Jenny'age=30x="mynameis%s,ageis20"%nameprint(x)x1="mynameis%s,ageis%s"%(name,age)print(x1)#第二种y="myname......
  • Python运算符
    假设a=10b=201.算数运算符运算符描述+加-减*乘/除%取余数**幂——次方//取整除 2.比较(关系)运算符运算符描述==等于......