我正在编写一个程序,该程序使用libssh2库通过 SSH 登录到另一个系统。登录后,我使用以下命令执行命令:
libssh2_channel_exec(sshchannel, command)
该命令执行正常。但是,一旦我关闭通道,运行的进程就会被终止。在我的情况下,命令(执行二进制可执行文件)将运行很长时间,我的程序不能等待它终止。我尝试将以下命令全部发出相同的结果(关闭通道后进程仍然被终止):
/path/myprog
nohup /path/myprog
nohup /path/myprog &
/path/myprog &; disown
此外,我已经观察到libssh和libssh2的这种行为。我缺少一些选项或命令吗?
提前致谢。