golang ssh获取远程执行命令的pid

[需求]

为了可以在server端结束(如ctrl+c)的时候把client上面的执行的命令也可以退出来. 如远程执行tail -f 指令.

[思路]

  • 第一种: 需要记录远程命令执行的pid再发起kill操作. 如果pid记录异常会导致kill错进程.
  • 第二种: 远程命令执行的时候是同步操作, 所以server退出会同时会关闭连接. 主要看有没有现成的封装好的库了.

[尝试]

  1. exec ssh 命令行的方式 需要封装远程指令, 可以记录下来pid但是很不优雅, 而且如果记录pid有异常会导致错kill.
  2. https://godoc.org/golang.org/... 采用ssh 库的连接方式想获取更多的ssh连接信息. 但是还没有找到有用的信息.

[问题]

求推荐一种靠谱的试或者思路 谢谢.

阅读 3.5k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题