我希望一个简单的脚本在后台继续运行。当前看起来像这样:
import keyboard
while True:
keyboard.wait('q')
keyboard.send('ctrl+6')
现在,它已经可以工作了(按q时,也按ctrl + 6),但是我想必须有一种更有效的方法来保持程序运行,以便它可以对输入起作用。
我宁愿不使用无限的while循环。
我在Windows上
谢谢:)
答案 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