使用python关闭时如何启动计算机?

时间:2016-05-10 21:41:59

标签: python

所以我想打开电脑而不用触摸电脑。我的意思是我会像上午7点选择小时并运行我的脚本。没有触摸我的电脑,我希望它在早上7点开放。有没有办法做到这一点。谢谢大家。

4 个答案:

答案 0 :(得分:6)

关闭或暂停?

如果您的计算机真的关闭(关闭=关闭后),您将需要第二台计算机为您按下开启按钮。可以将raspberryPi放置在计算机机箱内并执行python脚本,该脚本使用GPIO引脚关闭塔中的“on button”电路。

如果计算机被提升并且您想将其唤醒,则无法使用Python完成,但可以使用bios完成。在这里阅读前3个答案: https://askubuntu.com/questions/83685/scheduling-startup-and-shutdown

答案 1 :(得分:1)

这不太可能。

如果您的计算机已关闭(物理上),它只是关闭 - 没有任何内容正在运行,因此您的脚本 - 或其他应用程序 - 无法在目标系统上执行。获得类似于你想要的东西的方法是使用Wake-on-LAN,但要使用它,你需要另一台计算机来发送Magic Paket。

答案 2 :(得分:1)

您可以使用BIOS闹钟唤醒计算机。您设置闹钟时间,它将打开您的计算机。

这可能是由计算机中运行的程序设置的,然后再关闭它,看看这些: APIs for querying and setting bios properties https://software.intel.com/en-us/forums/intel-business-client-software-development/topic/297999

编辑:

如果您使用的是Linux,那么您的python代码必须在关闭计算机之前运行(当然)并设置BIOS Alarm(rtc),如下所示:https://askubuntu.com/questions/47745/automatically-start-at-specific-time-like-bios/47853

答案 3 :(得分:1)

是。有可能:您可以使用Wake on ring。它是BIOS或OS提供的功能。它也被称为实时时钟报警'或者' RTC闹钟'您必须在BIOS / UEFI配置中启用它。

使用 RTC闹钟,您可以在预定时间将计算机从深度睡眠状态 / 省电状态唤醒。它也称为 ACPI唤醒,是ACPI specification relating to Power States

的一部分

在Linux下,您可以使用以下命令获取配置的一些详细信息(然后输出,从我当前的计算机,并调整正确的格式):

$ cat /proc/driver/rtc

rtc_time                : 21:53:46
rtc_date                : 2016-05-10
alrm_time               : 03:01:19
alrm_date               : 2016-05-05
alarm_IRQ               : no
alrm_pending            : no
update IRQ enabled      : no
periodic IRQ enabled    : no
periodic IRQ frequency  : 1024
max user IRQ frequency  : 64
24hr                    : yes
periodic_IRQ            : no
update_IRQ              : no
HPET_emulated           : yes
BCD                     : yes
DST_enable              : no
periodic_freq           : 1024
batt_status             : okay

可以使用

获取ACPI警报事件的状态
$ cat /proc/acpi/wakeup 

Device  S-state   Status   Sysfs node
PCE2      S4    *disabled  pci:0000:00:02.0
PCE3      S4    *disabled
PCE4      S4    *disabled  pci:0000:00:04.0
PCE5      S4    *disabled
PCE7      S4    *disabled
PCE9      S4    *disabled  pci:0000:00:09.0
PCEA      S4    *disabled  pci:0000:00:0a.0
PCEB      S4    *disabled
PCEC      S4    *disabled
SBAZ      S4    *disabled  pci:0000:00:14.2
PS2K      S3    *enabled   pnp:00:08
P0PC      S4    *disabled  pci:0000:00:14.4
UHC1      S4    *enabled   pci:0000:00:12.0
UHC2      S4    *enabled   pci:0000:00:12.1
UHC3      S4    *enabled   pci:0000:00:12.2
USB4      S4    *enabled   pci:0000:00:13.0
UHC5      S4    *enabled   pci:0000:00:13.1
UHC6      S4    *enabled   pci:0000:00:13.2
UHC7      S4    *enabled   pci:0000:00:14.5
PCE6      S4    *disabled
PWRB      S3    *enabled 

MythTV you find an example of how to use RTC alarm under Linux处。

希望这能为这个话题提供一些启示。