使用命令行删除进程,并在windows下使用“taskkill /pid ' + str(pid) + ' /f”;利用linux下的“linux”kill + str(pid)”
简介
在 Python 在项目开发中,程序有时需要管理其他背景过程(如停止)。
可以通过 os.getpid() 函数以及 os.system() 实现这一功能。
示例
创建在同一目录下 3 脚本文件:
1 停止的过程
创建脚本文件 count.py ,内容如下:
importtime importos #pid获取过程 pid=os.getpid() print('pid:',pid) #将pid写入本地文件 f1=open(file='count_pid.txt',mode='w') f1.write(pid.__str__()) f1.close()、 #开始计数和打印 n=0 whileTrue: n+=1 print(n) time.sleep(1)
通过运行这个脚本,我们可以在后台获得一个连续运行的过程。
2 用于停止过程的函数
创建脚本文件 kill.py ,内容如下:
importos defkill(pid): #该函数用于暂停传入pid对应的过程 ifos.name=='nt': #Windows系统 cmd='taskkill/pid'+str(pid)+'/f' try: os.system(cmd) print(pid,'killed') exceptExceptionase: print(e) elifos.name=='posix': #Linux系统 cmd='kill'+str(pid) try: os.system(cmd) print(pid,'killed') exceptExceptionase: print(e) else: print('Undefinedos.name')
这个脚本的定义从其他程序中调用 kill() 指定的过程可以通过函数中止。
3 控制程序
创建脚本文件 manager.py ,内容如下:
fromkillimportkill #读取pid f1=open(file='count_pid.txt',mode='r') pid=f1.read() f1.close() #调用kill函数终止过程 kill(pid=pid)
操作这个脚本可以读取 count.py 对应进程的 pid ,并通过它暂停这个过程。
推荐课程:Python(小甲鱼)零基础入门学习