一、在过程中,了解了subprocess的一些用法:
1 subprocess模块目的是启动一个新的进程并与之通信
subprocess模块中基本的进程创建和管理由Popen类来处理. subprocess.popen是用来替代os.popen的,subprocess.call用于代替os.system
由于os.system经常会莫名其妙地出现错误,但是直接执行命令并没有问题,所以一般建议不要使用。
2 subprocess模块参数
二、关于如何关闭一个进程的方法
主要关闭python正在执行的这个py文件的进程:sys.exit() 、os._exit()、os.kill()
可以去关闭掉别的进程,windows情况下,用:taskkill /f /t /im
command = "taskkill /IM " + name + " /F"
#os.system(command)
#os.popen("taskkill /im vipkid.exe -f")
os.popen("taskkill /IM " + name + " -F")
#os.popen(command)
print("程序已关闭")
以上两种方法都可以关闭某个指定的进程
三、代码
# coding=utf-8
import sys
import subprocess
import time
import os
def PrintEnv():
print("os: " + sys.platform)
print("python version: " + sys.version)
def open_exe():
os.system(path)
subprocess.Popen(path)
print("打开软件")
time.sleep(5)
print('睡眠5秒')
name = path.split("\\")[-1]
print(name)
close_exe(name)
def close_exe(name):
#command = "taskkill /IM " + name + " /F"
#os.system(command)
#os.popen("taskkill /im vipkid.exe -f")
os.popen("taskkill /IM " + name + " -F")
#os.popen(command)
print("程序已关闭")
if __name__ == "__main__":
PrintEnv()
path = "C:\\Program Files (x86)\\img\\img.exe"
open_exe()