python脚本如何知道自己在nohup模式下运行?

2024-10-02 20:34:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我在想我的run.py脚本是否可以以两种不同的模式运行。 当处于nohup模式时:nohup python run.py &,就像完整的日志输出一样模式。但是在正常模式python run.py中,类似于日志抑制模式。这样对用户来说它将是整洁和清晰的。在

在所以,我的问:我的可运行python脚本knonw如何在nohup模式或普通模式下运行?在


Tags: run用户py脚本模式nohupknonw
1条回答
网友
1楼 · 发布于 2024-10-02 20:34:59

nohup命令修改它启动的进程的操作系统级信号处理。这不会反映在命令的参数中,但进程可以自行查询以检查安装了哪些操作或信号处理程序。方法如下:

import signal

if signal.getsignal(signal.SIGHUP) == signal.SIG_DFL:  # default action
    print("No SIGHUP handler")
else:
    print("In nohup mode")

这将适用于任何Unix系统,可能在Windows(未经测试)上。还有其他方法可以从shell或程序内部设置信号处理程序,但是如果您只是想区分nohup和普通调用,这将告诉您您需要知道的所有信息。在

相关问题 更多 >