欢迎访问宙启技术站
智能推送

signalSIGTERM在Python中的作用和用法是什么

发布时间:2023-12-15 12:13:25

在Python中,signal.SIGTERM用于捕捉和处理由操作系统发送的终止信号(SIGTERM)。终止信号通常由操作系统发送给一个进程,用于请求其正常终止。当接收到SIGTERM信号时,Python程序可以执行一些清理操作并正常退出。

下面是signal.SIGTERM的用法示例:

import signal
import time

# 定义一个信号处理函数
def handle_sigterm(signal_num, frame):
    print('Received SIGTERM. Cleaning up.')
    # 执行一些清理操作
    # ...

    # 正常退出程序
    exit()

# 注册信号处理函数
signal.signal(signal.SIGTERM, handle_sigterm)

# 模拟程序运行
while True:
    print('Running...')
    time.sleep(1)

在上面的示例中,我们首先导入了signal模块,并定义了一个名为handle_sigterm的信号处理函数。该函数会在接收到SIGTERM信号时被调用。

接下来,我们通过signal.signal()函数将handle_sigterm函数注册为SIGTERM信号的处理函数。这样一旦收到SIGTERM信号,handle_sigterm函数就会被调用。

然后,在无限循环中,我们打印"Running..."并使用time.sleep(1)函数暂停1秒钟。这只是一个示例来模拟程序运行,实际应用中可能有其他的业务逻辑。

如果我们在程序运行时向其发送SIGTERM信号,例如在终端中使用Ctrl+C键来中断程序运行,就会触发handle_sigterm函数。函数会打印"Received SIGTERM. Cleaning up."并执行一些清理操作。在本例中,我们只是简单地调用exit()函数退出程序。