[英]Python Subprocess wont terminate
我遇到了实际上杀死在Viewer中生成以显示图像的子流程的问题。 基本上,我从堆栈中打开图片,并希望将它们显示一段时间,然后终止子进程。 运行该程序时,它会根据需要显示图片,但我无法使实际的.kill
或.terminate
函数正常工作。
class ImageDisplay(ThreadParent):
def __init__(self, label):
ThreadParent.__init__(self, label)
def display_image(self):
image = ThreadParent.image_stack.pop(0)
cwd = os.getcwd()
# Automagically opens in preview @ osx
p = subprocess.Popen(["open", "file://%s/%s" % (cwd,
filepath(filename(image)))])
disptime = displaytime(image)
print("Displaying image:", image, "for", disptime, "seconds..")
time.sleep(disptime)
p.terminate()
p.kill()
所有帮助将不胜感激。
祝一切顺利
我认为open
将在open
预览后终止,这意味着您没有预览程序的句柄。 尝试像这样调用预览二进制文件:
/Applications/Preview.app/Contents/MacOS/Preview /path/to/image.jpg
HTH
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.