Python 脚本继续 运行

Python script to continue running

我是 python 编程新手。我希望我的代码继续 运行ning 并继续检查我的 IP 地址。 `

#!/usr/bin/env python
import os

hostname = "192.168.254.102" #example
response = os.system("ping -c 1 " + hostname)

然后检查响应...

if response == 0:
    print(hostname, 'is up!')
    os.system("sudo python ../aquarium/nightlight_on.py 1")
else:
    print(hostname, 'is down!')

`

基本上,当我回到家时,我无法使用代码检查我的 phone IP 地址,然后脚本会打开灯。我测试了脚本,如果你在终端中 运行 它运行良好,但你需要先 sudo python scriptname.py 谢谢

您可以像这样使用 python schedule open source project

#!/usr/bin/env python
def job():   
    import os
    hostname = "192.168.254.102" #example
    response = os.system("ping -c 1 " + hostname)
    if response == 0:
        print(hostname, 'is up!')
        os.system("sudo python ../aquarium/nightlight_on.py 1")
    else:
        print(hostname, 'is down!')

import schedule
schedule.every(10).seconds.do(job)

然后 运行 你的 python 脚本作为带有 unix & 标志的后台进程:

$ sudo python yourScript.py &

您可以使用 pip 安装时间表。当您的计算机重新启动时,您仍然需要重新启动该进程,或者创建一个 upstart 或 systemd 作业来处理它。