python - 如何让python打开一个应用程序并使用它?

标签 python macos minecraft bukkit

我有一个在我的 Mac 上运行的 Minecraft Bukkit 服务器。我也经常出差,服务器重启很痛苦。我是否有可能拥有一个可以使用 stop 命令关闭服务器的 Python 2.7.3 脚本。然后我希望脚本等待 30 秒,然后重新打开服务器。我希望该脚本也位于一个计时器上,每 6 小时重新启动一次服务器。

我的主要问题是,是否有任何模块、库或方法可以帮助我完成此任务?如果需要,我可以在哪里找到更多信息?

print "Hello - This is the Bukkit Restart Program!"
"\n"
print "It will restart the minecraft server every 6 hours"

---- 伪代码 ----

def RESTART():
    OUTCOME = None
    Every 6 hours:
        if program can open start_server.command:
            print "stop" in start_server.command
            wait 30 seconds
            open start_server.command
            OUTCOME = 1
        else:
             print "Error encountered!!"
             OUTCOME = 0
    return OUTCOME


def check():
    log = open("log.txt", "a+")
    if OUTCOME = 1:
        log.write("\n <insert time> SUCCESS!")
    else:
        log.write("\n <insert time> FAILURE! PLEASE CHECK CODE!")
    log.close()
RESTART()
check()

抱歉,如果我的问题太天真,但我是一名业余程序员!

谢谢!

最佳答案

用于这项工作的一个好工具是 cron 。它安装在 Mac 上,专为按特定时间间隔运行任务而设计。

我会制作一个 python 脚本来运行您的命令(查看 subprocess 模块)并执行您想要的任何错误检查,然后将其设置为 cron 作业。

设置 cron 作业的基本过程如下:

# (in a terminal)
# This opens up your crontab file, which lists all your scheduled jobs
crontab -e

然后添加几行,例如:

0 0 * * *  python /path/to/your/script.py
0 12 * * * python /path/to/your/script.py

这将在每天午夜和中午运行您的脚本一次。

关于python - 如何让python打开一个应用程序并使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14492557/

相关文章:

python map 对象方法

python - 用于存储嵌套框的数据结构?

objective-c - 自定义 NSCell drawWithFrame :inView method not getting invoked in OSX 10. 8

Python - 与 Minecraft Classic 服务器交互

java - 将 HikariCP 阴影放入 jar 中将不起作用

python - 粒子实例没有属性 '__getitem__'

Java 类未在 OS X 上运行

macos - 如何 #!工作以及如何使其适用于 CoffeeScript?

java - 龙头无限烟火

python - 加速循环以使用另一个数组中最接近的值填充数组