保持Python脚本运行的简单方法?

时间:2019-01-21 18:34:47

标签: python python-3.x

我希望一个简单的脚本在后台继续运行。当前看起来像这样:

import keyboard

while True:
    keyboard.wait('q')
    keyboard.send('ctrl+6')

现在,它已经可以工作了(按q时,也按ctrl + 6),但是我想必须有一种更有效的方法来保持程序运行,以便它可以对输入起作用。

我宁愿不使用无限的while循环。

我在Windows上

谢谢:)

3 个答案:

答案 0 :(得分:2)

您可以使用nohup

nohup python script.py > log.txt 2>&1 &

如果要运行检查命令

ps aux | grep script
user    5124 <- process_id  1.0  0.3 214588 13852 pts/4    Sl+  11:19   0:00 python script.py

杀死命令正在运行

kill -9 [process_id]

答案 1 :(得分:0)

这取决于您使用的平台。在Linux的终端上,您可以在最后使用&运行脚本,以将其作为后台进程启动:

python script.py &

然后,您可以使用以下方法找到后台进程:

ps -ef | grep script.py

杀死进程:

kill <pid number>

在Windows中,它有点复杂,但是答案是here

注意:我会在您的脚本中添加一个time.sleep(0.025)命令(如注释中所述)。

答案 2 :(得分:0)

我正在寻找相同的东西并降落在这里。 这是另一种解决方案。它对我来说工作正常。也许对其他人也有用。

在命令行中使用 -i 选项。因此,如果您的 Python 脚本是 foo.py,请在命令行执行以下命令:

python -i foo.py