python怎么终止进程?
有时候在使用 Python 程序的时候,我们需要终止执行某个进程或线程,本文将从以下三个角度讲解如何在 Python 中终止进程:
1. 使用 os 模块终止进程
2. 使用 signal 模块终止进程
3. 使用 multiprocessing 模块终止进程
1. 使用 os 模块终止进程
在 Python 中,os.kill() 函数可以用来给指定进程发信号,从而实现终止进程的目的。比如,执行下面的代码可以杀死进程号为 12345 的进程:
import os
os.kill(12345, signal.SIGKILL)
2. 使用 signal 模块终止进程
signal 模块是 Python 程序中用于处理和发送各种信号的模块。和 os 模块一样,signal 模块也能用于终止进程。例如,下面的代码实现了在接收到信号 9 时杀死进程的功能:
import signal
import os
def handler(signum, frame):
os.kill(os.getpid(), signal.SIGINT)
signal.signal(signal.SIGTERM, handler)
3. 使用 multiprocessing 模块终止进程
如果要终止一个正在执行的进程中的代码块,可以使用 Python 内置的 multiprocessing 模块中的 Process 对象的 terminate() 方法。例如,下面的代码演示了如何终止一个进程:
import multiprocessing
def worker():
while True:
print('working...')
p = multiprocessing.Process(target=worker)
p.start()
p.terminate()
总结
以上就是三种在 Python 中终止进程的方法。使用 os 模块是最常见的方法,但是需要记住信号的含义。signal 模块也可以实现杀死进程的功能,但是需要处理一些信号处理方面的细节。对于大小写处理,一般采用 python(Python为默认不区分大小写的)一种简单明了的写法,总体感觉是效率高而且代码简单,建议读者掌握上述三种方法。