我正在遠程運行JUnit測試套件,並使用Ant從本地計算機到大約30分鐘超時的遠程服務器。由於JUnit在每次測試後輸出.
或E
,因此可以使用javac/java運行這些JUnit測試。這個連續的輸出使得ssh連接在測試套件需要運行的大約9個小時內保持活動狀態。然而,對於Ant來說,測試套件完成之前沒有任何輸出,這會過早地殺死測試過程。我嘗試了幾種不同的結果報告方法(寫入文件,幾乎所有格式化選項等)。在遠程運行期間避免SSH超時Ant JUnit測試
我的問題可以是:
我怎樣才能保持SSH連接足夠長活着爲我的測試套件來完成?我沒有訪問權限來更改任何ssh連接設置,並且由於代碼位於遠程服務器上,所以在每次測試之前/期間/之後,我無法從本地計算機向服務器發送任何內容。
或
我如何設置螞蟻打印/呼應測試期間某種輸出?在終端中不顯示使用Java的ProcessBuilder的回顯。
這是完美的(我希望我早些時候知道)!初始測試顯示事情按預期工作,所以現在我要運行大約一個小時的測試,以便發生自然超時。我會接受你的答案,一旦我得到該場景工作:) – Chris
好吧,嘗試了幾次後,我仍然得到「nohup:忽略輸入和追加輸出到'nohup.out'」,然後30-45分鐘後, 「寫失敗:損壞的管道「以及Ant通常寫入的文件爲空。我會更深入地研究nohup,因爲它看起來正是我所需要的。 – Chris
您得到的第一條消息是正常的:它只是說它在運行時不會讀取stdin,並且會將stdout寫入'nohup.out'文件,您應該在觸發命令的路徑中找到該文件。 _Broken pipe_錯誤很奇怪:你確定這是鏈接到ssh連接嗎? – Alexis