我們希望從CMD.exe運行程序,但要用新進程替換CMD.exe。我們所看到的是,CMD將始終產生任何程序作爲子進程,但我們需要CMD來調用特定的子進程,並用此進程取代它自己。在POSIX中,您可以通過execl*()/execv*()
函數系列完成此任務。Window的CMD.exe是否支持exec?
我知道START命令,但是這個命令打開一個新的控制檯 - 這對我們來說不是一個選項。我們的流程正在從服務內運行,無法打開新的控制檯。我們正在尋找一種方法來請求CMD.exe調用exec()
類型的功能。
注意:我們的研究表明這不能完成,但在我們放棄之前,我想我會與其他人一起檢查。
不可能,對不起。爲什麼你需要通過'cmd'來產生你的過程? – Jon
我們需要運行一個python腳本 - 並且該腳本執行os.execl() - 但是因爲CMD.exe保持加載狀態,它會看到python進程結束並重新注入自己,以處理stdin/stdout。 – user590028
您不需要'cmd'來運行Python腳本。只需直接運行python.exe(或其他)。 –