繁体   English   中英

Python子进程不会终止

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM