You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Python 3.11.5进程在MacOS Monterey 12.6.8上自我挂起?

在macOS上实现Python脚本自我挂起的方法

原脚本在Linux系统中能立即进入挂起状态,但在macOS中会等待2秒后退出,无法实现自我挂起:

#!/usr/bin/python3

import os
import time

os.system('/bin/kill -19 ' + str(os.getpid()))
time.sleep(2)

问题原因

os.system会创建子进程来执行kill命令,当子进程向父进程(Python脚本本身)发送SIGSTOP信号时,父进程正处于等待子进程退出的阻塞状态,此时SIGSTOP信号会被延迟处理,直到os.system执行完成。等信号生效时,sleep(2)已经执行完毕,脚本直接退出,因此看不到挂起效果。

解决方法

直接使用Python标准库的os.kill函数,向当前进程发送SIGSTOP信号,无需通过子进程中转:

#!/usr/bin/python3

import os
import signal

# 向当前进程发送SIGSTOP信号,立即挂起自身
os.kill(os.getpid(), signal.SIGSTOP)
# 这段代码会在进程被`kill -CONT <进程ID>`恢复后才执行
print("进程已恢复运行")

说明

在macOS中,脚本执行os.kill后会立刻进入挂起状态,需要在终端执行kill -CONT <你的Python进程ID>命令,才能恢复进程的运行。

内容的提问来源于stack exchange,提问作者Christos Hayward

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 09:02:04