2016-02-22 62 views
0

我該如何運行應用程序,而不是等待它何時結束?例如:/var/tmp/runme.sh &Python - 如何運行應用程序並離開直到它結束?

以下代碼正在運行,但它會在Google Chrome退出時一直等待。我如何運行谷歌瀏覽器,但讓我的腳本退出?

import subprocess 
import sys 
import time 

line = sys.argv[1] 
print line 

def kill_chrome(): 
    subprocess.call(['Taskkill', '/IM', 'chrome.exe', '/F']) 

def run_chrome(): 
    subprocess.call(['C:/Program Files (x86)/Google/Chrome/Application/chrome.exe', '--kiosk']) 

def run_java(): 
    subprocess.call(['java', '-cp', 'C:/Python27/pdfbox-app-2.0.0-RC3.jar;C:/Python27/jprint.jar', 'JPrint']) 

try: 
    if line.startswith("myjava:website"): 
    print "Google Chrome - IDLE" 
    run_chrome() 

    elif line.startswith("myjava:a4"): 
    print "Printing - JAVA" 
    run_java() 

    elif line.startswith("myjava:kill"): 
    print "Killer" 
    kill_chrome() 

except Exception, err: 
    print (err) 
    pass 

#time.sleep(2) 

回答

1

subprocess.Popen怎麼樣?看起來它確實是你想要的 - 運行應用程序結束不會等待。您還將參數傳遞給運行的應用程序。

from subprocess import Popen 
Popen([ "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe", "myarg"]) 

沒有「myarg」它也可以。

+0

Popen的作品。但我總是有一個DOS窗口,它非常煩人的如何不顯示DOS窗口?例如:'Popen(['Taskkill','/ IM','chrome.exe','/ F'])'。我用myscript.pyw嘗試過pythonw.exe,但仍然有一個煩人的DOS窗口彈出。 – YumYumYum

+0

你的意思是腳本運行的窗口終端? – Paul

+0

我有你的代碼:'C:\ Python27 \ Paul.pyw'。 Paul.pyw由VBS,BATCH,Java等其他應用程序執行,在這種情況下,它顯示了Windows終端。 – YumYumYum

相關問題