1

我正在编写一个程序,该程序使用libssh2库通过 SSH 登录到另一个系统。登录后,我使用以下命令执行命令:

libssh2_channel_exec(sshchannel, command)

该命令执行正常。但是,一旦我关闭通道,运行的进程就会被终止。在我的情况下,命令(执行二进制可执行文件)将运行很长时间,我的程序不能等待它终止。我尝试将以下命令全部发出相同的结果(关闭通道后进程仍然被终止):

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

此外,我已经观察到libsshlibssh2的这种行为。我缺少一些选项或命令吗?

提前致谢。

4

1 回答 1

2

你可以使用 unixat命令:

echo "cmd" | at now
于 2015-10-19T14:08:01.720 回答