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()函数退出程序。
