2011-08-03 64 views
0

我有我的java進程(在我的系統中)試圖與一個遠程系統(當然是2個系統連接)的/ tmp目錄中的shellscript(details1.sh)對話。但我得到這個exception-IOException冒險

產生java.io.IOException:不能運行程序 「/tmp/details1.sh」:java.io.IOException異常:錯誤= 2,沒有這樣的文件或目錄

我已經將權限更改爲777也..

但我無法弄清楚如何通過這一個。 任何想法?

+1

「2系統連接」是什麼意思? IOException接口告訴你在你的本地'/ tmp'中找不到'details1.sh'。如果遠程系統的根('/')掛載在'/ mount/remote_sys'中,則應該運行'/ mount/remote_sys/tmp/details1.sh'。 – jfg956

回答

1

您應該直接調用shell(例如/bin/bash),傳遞腳本作爲文件名執行。

編輯:根據意見,這可能不是問題 - 但它肯定是我第一次嘗試。

另一個編輯:你似乎試圖運行/tmp/details1.sh,但你說這是在遠程系統的/tmp目錄。很明顯,如果你試圖運行/tmp/details1.sh它會查看本地/tmp目錄......你如何期待它知道遠程系統?

+0

在C和Linux上,stdlib的''''函數使用'/ bin/sh'來調用命令。當然,Java並沒有像使用'Runtime.exec'運行命令那樣具體,但我希望和C.一樣。 – jfg956

+0

@jfgagne:我不確定我會有任何期望,說實話......但我認爲這至少是值得嘗試的。 –

+0

@jfgagne你沒有*證明* Java調用system()。實際上它調用了exec()系列中的一個。就像system()一樣。 – EJP