等待进程在python中打开

时间:2016-11-26 10:34:52

标签: python windows python-2.7 windows-runtime runtime

我正在尝试制作python程序,它等待处理打开然后它做了很少的事情,
在我的情况下,那些“少数事物”将在函数中命名为action()。
我有点复杂,这是我迄今为止所做的。
我找到了检查进程是否从tasklist.exe运行的函数

def isWindowsProcessRunning( exeName ) :            
    import subprocess    
    process = subprocess.Popen( 
        'tasklist.exe /FO CSV /FI "IMAGENAME eq %s"' % exeName,
        stdout=subprocess.PIPE, stderr=subprocess.PIPE,
        universal_newlines=True )
    out, err = process.communicate()    
    try : return out.split("\n")[1].startswith('"%s"' % exeName)
    except : return False

我想以这种方式使用它:

if( isWindowsPrecessRunning("chrome.exe") == False ):
    print "Waiting for chrome to open.."
    while( True ):
        if( isWindowsPrecessRunning("chrome.exe") == True ):
            action()
else:
    print "Chrome must be closed when the program starts, please close chrome, and re-open the program"

问题是该程序是用windows的“tkinter”构建的 当我打开它一次,并且chrome没有运行 - 程序进入无限循环。
无限循环,阻止程序的用户做任何事情,因为它打开一个清晰的cmd,关闭它,打开它,关闭它等等 - 用户甚至无法关闭它。
有没有人知道如何做到这一点?
在此先感谢:)

0 个答案:

没有答案