📅  最后修改于: 2023-12-03 14:46:22.052000             🧑  作者: Mango
os.kill()
方法用于给指定进程发送信号,可以用来强制关闭进程,中断进程运行等。该方法在 os
模块中定义,需要先导入该模块才能使用。
os.kill(pid, signal.SIGTERM)
os.kill()
方法包括两个参数:
pid
: 指定进程的进程 ID。可以使用 os.getpid()
方法来获取当前进程的进程 ID。signal
: 指定发送信号的类型。在 Unix 中,有许多种不同的信号类型可以使用。常用的信号类型包括 SIGKILL、SIGTERM、SIGINT
等。在 Windows 中,只有 SIGTERM
能够被识别。os.kill()
方法没有返回值。如果进程成功收到信号,则该方法将不会引发异常。
以下是一个简单的实例,演示了如何使用 os.kill()
方法发送信号给另一个进程。该程序将启动一个无限循环的进程,并在 3 秒钟后向其发送信号,以强制关闭该进程。
import os
import time
pid = os.fork() # 创建子进程
if pid == 0: # 子进程
while True:
time.sleep(1)
else: # 父进程
time.sleep(3)
os.kill(pid, signal.SIGTERM) # 发送信号,关闭子进程
该程序首先使用 os.fork()
方法创建一个子进程。子进程会在一个无限循环中等待。然后,在 3 秒钟后,父进程将向子进程发送 SIGTERM
信号,以关闭该进程。