0
下,運營商,我有以下兩條線在我的Scala程序使用sbt從scala運行外部進程!視窗
val success:Int = ("d:\\program.bat" !)
println("started "+success)
program.bat看起來像這樣
@echo off
start "" "d:\notepad.exe"
echo DONE
程序實際啓動Tomcat服務器,但它是Firefox的都是一樣的,記事本等...所以我簡化了這個notepad.exe
我想開始記事本,看到「開始0」。
的問題是,代碼停在第一線和犯規打印「開始0」,直到我關閉記事本
的program.bat的最後一行是
echo DONE
和DONE是在執行停止之前打印出最後一件東西(所以我假設它不會停止在program.bat中)。
我試着把EXIT/B 0放在我的program.bat腳本的末尾,但它沒有改變任何東西。
我聽說它在linux下正常工作(當然使用program.sh)。
任何建議如何真正從program.bat分離記事本並返回0?
感謝您的回答!這是一個有用的知識。但我實際上想要實現的目標是讓program.bat「fire and forget」記事本而不是scala程序「fire and forget」program.bat。那麼,我是否正確地認爲program.bat不會終止(儘管它會打印出DONE),直到它開始的進程終止爲止?我可以強迫它終止,而不是等待記事本終止? – misiek
我明白了,我誤解了你的帖子。如果你在shell上運行'program.bat',你會發現它忘記記事本。但是,一旦所有子進程終止,由Scala啓動的進程只會終止,其中包括已被觸發和忘記的記事本進程。 –