Python Subprocess不会终止

时间:2014-09-01 09:54:12

标签: python image macos process subprocess

我遇到了实际查杀子进程的问题,以便在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()

非常感谢所有帮助。

一切顺利

1 个答案:

答案 0 :(得分:1)

我认为open将在预览打开后终止,这意味着您无法处理预览程序。尝试调用预览二进制文件,如:

/Applications/Preview.app/Contents/MacOS/Preview /path/to/image.jpg

HTH