我正在编写一个程序,使用 libssh2 库通过SSH登录到另一个系统。登录后,我使用以下命令执行命令:
if (j == pos1 && i < w2.length()) { ... }
命令执行正常。但是,一旦我关闭通道,进程就会被终止。在我的情况下,命令(执行二进制可执行文件)将运行很长一段时间,我的程序不能等待它终止。我尝试将相同的结果发出以下命令(关闭频道后该过程仍然被终止):
libssh2_channel_exec(sshchannel, command)
此外,我已经为 libssh 和 libssh2 观察到了这种行为。是否有一些我缺少的选项或命令?
提前致谢。
答案 0 :(得分:3)
您可以使用unix at
命令:
echo "cmd" | at now