如何手动关闭.pyw

时间:2016-05-07 19:16:21

标签: python

我有一个永远不会自动退出的python程序。但是,它确实需要在某些时候这样做。它必须在没有控制台的情况下运行,因此我将其保存为.pyw,但这意味着没有X可以单击以关闭它。 如何在不重新启动机器的情况下手动关闭此设备?我在Windows上,以防它需要命令行。

3 个答案:

答案 0 :(得分:1)

如果只有一个pythonw正在运行,你可以执行taskkill / IM pythonw.exe / F.将其键入终端或在桌面上或任何您想要的位置创建链接。

答案 1 :(得分:0)

您可以制作文件。 .pyw程序应大约每1秒检查一次。如果文件更改,请在.pyw程序中运行### Do Something here... from datetime import datetime last = 0 #Record the last time to do checking, for now, just put it to any number you want while True: now = datetime.now() second = now.second if now != second: ### Do checking here for example, a file called "quit_state.txt" date = open("quit_state.txt",'r').read().strip() ### Strip the data if date == "quit": quit() 命令。但是不要每次都勾选它,因为文件处于“更改中”状态,否则它将失败。

示例:

quit

只需将文件数据更改为{{1}},程序将停止

答案 2 :(得分:0)

您可以在脚本中包含线程以进行输入

from pynput.keyboard import Key, Listener
import threading
import sys

def on_press(key):
    global pause
    if str(format(key))[1]=='`':
        sys.exit()

def fun():
    YOUR CODE HERE

threading.Thread(target=fun).start()

with Listener(
        on_press=on_press) as listener:
    listener.join()

这将在按“`”时退出您的代码 sys.exit()将停止主程序,但您需要以某种方式进行管理,即fun()线程也要结束以实际结束程序