如何关闭 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 其他参数。
我会解释我的问题:
对于我系统的应用程序,我想知道如何关闭可执行文件,例如像往常一样单击右上角的退出按钮。语境 : 从脚本 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 其他参数。