利用命令行对进程进行删除,windows下利用“taskkill /pid ' + str(pid) + ' /f”;linux下利用“kill + str(pid)”
简介
在 Python 项目开发中,程序有时需要管理(例如,停止)其他后台进程。
可以通过 os.getpid() 函数以及 os.system() 来实现这一功能。
示例
在同一个目录下创建 3 个脚本文件:
1 要停止的进程
创建脚本文件 count.py ,内容如下:
import time
import os
# 获取进程的pid
pid = os.getpid()
print('pid: ', pid)
# 将pid写入本地文件
f1 = open(file='count_pid.txt', mode='w')
f1.write(pid.__str__())
f1.close()、
# 开始计数并打印
n = 0
while True:
n += 1
print(n)
time.sleep(1)
运行脚本,这样你就可以在后台连续运行一个进程。
2 用来停止进程的函数
创建脚本文件 kill.py ,内容如下:
import os
def kill(pid):
# 本函数用于中止传入pid所对应的进程
if os.name == 'nt':
# Windows系统
cmd = 'taskkill /pid ' + str(pid) + ' /f'
try:
os.system(cmd)
print(pid, 'killed')
except Exception as e:
print(e)
elif os.name == 'posix':
# Linux系统
cmd = 'kill ' + str(pid)
try:
os.system(cmd)
print(pid, 'killed')
except Exception as e:
print(e)
else:
print('Undefined os.name')
从另一个程序调用此脚本中定义的 kill() 函数来杀死指定的进程。
3 控制程序
创建脚本文件 manager.py ,内容如下:
from kill import kill
# 读取pid
f1 = open(file='count_pid.txt', mode='r')
pid = f1.read()
f1.close()
# 调用kill函数,终止进程
kill(pid=pid)
通过运行这个脚本,你可以读取count.py对应的进程的pid,并用它来杀死进程。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ Python 用什么来划分语句块?10/12
- ♥ 如何编写python空命令行09/20
- ♥ python中如何消除正负数的符号来计算均值10/10
- ♥ python Task在协程中是如何调用的01/12
- ♥ python如何判断一个字符串是否包含特殊符号?08/22
- ♥ 什么是python语法08/19
内容反馈