2015-10-19 258 views
1

我正在編寫一個程序,該程序可以通過SSH使用libssh2庫登錄到另一個系統。登錄後,我使用以下命令執行命令:Libssh2:防止後臺任務被終止

libssh2_channel_exec(sshchannel, command) 

該命令執行正常。但是,一旦關閉通道,進程運行就會中止。在我的情況下,命令(執行二進制可執行文件)將運行很長一段時間,我的程序不能等待它終止。我試着發出以下命令所有相同的結果(該進程仍然在被殺關閉通道):

/path/myprog 
nohup /path/myprog 
nohup /path/myprog & 
/path/myprog &; disown 

而且,我觀察到這種行爲兩個libsshlibssh2。有一些選項或命令我錯過了嗎?

在此先感謝。

+2

回聲 「CMD」 |現在 –

回答

3

您可以使用UNIX at命令:

echo "cmd" | at now