如何关闭 Python 上的可执行文件,例如单击退出按钮

How to close an executable on Python like clicking on exit button

我会解释我的问题:

对于我系统的应用程序,我想知道如何关闭可执行文件,例如像往常一样单击右上角的退出按钮。语境 : 从脚本 python,我想 运行 一个可执行文件。它适用于 os.system 或 subrpocess popen。此外,我想知道这个可执行文件何时关闭,它与子进程检查输出一起工作正常。我的问题是:我想关闭我 运行 的可执行文件,但由于我系统上的许多原因(.exe 在通过右上角的“关闭”按钮关闭时发送 snmp 消息到另一个脚本,我不能改变它),我必须关闭这个可执行文件,就像我手动关闭可执行文件一样 window.

做 self.p.terminate 没用。

拜托,如果你有什么想法,请告诉我。感谢您的回答,祝您有美好的一天

我的代码如下:

import subprocess
import os
import sys,string,os
import threading 
import time 

class test():
    
    def __init__(self):
        pass
        
    def lancement(self):
        os.chdir('C:\dossier')
        self.p = subprocess.Popen("C:\dossier\TEST.exe")
        self.id = self.p.pid
        #os.system("C:\dossier\TEST.exe")
        
    def verification(self):
        while True :
            
            self.s = subprocess.check_output('tasklist', shell = True)
            
            if b"TEST.exe" not in self.s :
                print('Absent')
                
                break
            
            else : 
                print('toujours present')

    def fermeture(self):

        #os.close("C:\dossier\TEST.exe")
        #self.p.terminate()
        os.kill(self.id,signal.SIGTERM)
    def tests(self):
        ouais = threading.Thread(target =self.lancement)
        ouais.start()
        time.sleep(2) 
        testverif = threading.Thread(target = self.verification)
        testverif.start()
        time.sleep(20) 
        self.fermeture()
 
def main():
    testa = test()
    testa.tests()
main()

您可以为此使用 os 个模块。

os.system("taskkill Test.exe")

这会温和地终止应用程序。

taskkill 是一个 cmd 命令,可帮助您终止进程。 os.system() 方法在 subshell/cmd.

中执行命令(字符串)

如果需要,还要检查 the taskkill docs 其他参数。