我有一個.sh腳本,粘貼了許多其他腳本,由jsch ChannelExec從Windows應用程序調用。jsch ChannelExec使用nohup運行.sh腳本「丟失」一些命令
Channel channel = session.openChannel("exec");
((ChannelExec) channel).setCommand("/foo/bar/foobar.sh");
channel.connect();
,如果我喜歡運行命令「的nohup /foo/bar/foobar.sh >> /path/to/foo.log &」,所有的長期工作(數據庫操作,文件處理等)似乎迷路了。
檢查日誌文件,只發現那些回聲的東西(長期操作前後,計算運行時間等)。
我檢查了權限,$ PATH,添加源/ etc/profile到我的.sh,但沒有任何這些作品。
但是當我正常運行命令(同步運行,打印所有回聲輸出到我的Windows客戶端),所有的事情都順利。
這是一個非常具體的概率。 希望有經驗的人能幫助我。
提前致謝。
韓
你確定它們會迷路嗎?或者當你檢查輸出時,它們是否還在運行? – 2011-06-03 11:28:54
此外,嘗試與股票'ssh'客戶端相同,以查看它是否與JSch(我想不)。 – 2011-06-03 11:30:24
嗨。我可以確保他們迷路了。如果他們工作,一些記錄應該被加載到數據庫中。 – 2011-06-04 09:17:24