[英]Python run system command and then exit… won't exit
我有以下python代码:
os.system("C:/Python27/python.exe C:/GUI/TestGUI.py")
sys.exit(0)
它运行命令正常,弹出一个窗口。 但是,它不会退出第一个脚本。 它只是停留在那里,我最终不得不强行杀死这个过程。 没有错误产生。 这是怎么回事?
而不是os.system
使用subprocess.Popen
这运行一个命令,不等待它然后退出:
import subprocess
import sys
subprocess.Popen(["mupdf", "/home/dan/Desktop/Sieve-JFP.pdf"])
sys.exit(0)
注意os.system(command)
如:
p = subprocess.Popen(command)
p.wait()
我建议使用os._exit
而不是sys.exit
,因为sys.exit不会退出程序但会引发异常级别,或者退出一个线程。 os._exit(-1)
退出整个程序
KeyboardInterrupts和信号只能由进程看到(即主线程)。 如果嵌套命令由于某种文件读取或写入块而挂起,则无法使用任何键盘命令退出程序。
如果你无法消除磁盘块的来源,那么一种方法是将进程包装在线程中,这样你就可以强行杀死它。 但是如果你这样做,你就有机会在磁盘上留下半写和损坏的文件。
import sys ,subprocess
subprocess.Popen(["C:/Python27/python.exe", "C:/GUI/TestGUI.py"])
sys.exit(0)
Popen来自子进程模块您正在寻找什么。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.