2015-10-19 109 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