如何使用 Python 检测 Linux 机器关机状态

如何使用 Python 检测 Linux 机器关机状态

下面是我从这个网站获得的用于检测简历的代码,

import dbus      # for dbus communication (obviously)
import gobject   # main loop
from dbus.mainloop.glib import DBusGMainLoop # 
integration into the main loop
def handle_resume_callback():
    print "System just resumed from hibernate or suspend"

DBusGMainLoop(set_as_default=True) # integrate into main loob
bus = dbus.SystemBus()             # connect to dbus system wide
bus.add_signal_receiver(           # defince the signal to listen to
    handle_resume_callback,            # name of callback 
function
    'Resuming',                        # singal name
    'org.freedesktop.UPower',          # interface
    'org.freedesktop.UPower'           # bus name
)

loop = gobject.MainLoop()          # define mainloop
loop.run()                         # run main loop

谁能帮帮我,检测断电情况的信号名称是什么。

答案1

您可以添加此项来捕获 SIGTERM、SIGINT 和 SIGKILL 信号。

import signal

signal.signal(signal.SIGINT, sigterm_handler)
signal.signal(signal.SIGTERM, sigterm_handler)
signal.signal(signal.SIGKILL, sigterm_handler)

您需要 SIGTERM 来关闭电源。但请注意:按下按钮意味着系统将开始关机,因此在您想要执行的任何操作之前,时间是有限的。

相关内容