使用ssh命令执行重新启动后关闭连接

咖啡杯

我正在reboot -f远程使用命令来强制重新引导Unix计算机。问题是ssh连接长时间保持活动状态,我不知道为什么?我想在重启机器后立即关闭ssh连接,并返回到我的本地shell。我怎样才能做到这一点?请注意,不带-f标志的重新启动命令不起作用。

吉勒斯“别再邪恶了”

该命令将reboot -f永不返回(除非您没有导致重新引导的权限)。在发布时,SSH客户端正在等待做某事,这可能是:

  • SSH服务器通知客户端发生了需要引起注意的事情,例如,有一些输出要显示,或者远程命令已完成;
  • 客户端发生的一些事件,例如中继信号;
  • 触发计时器以使客户端发送保持活动消息(如果服务器未回复,则关闭连接)。

由于SSH服务器进程已死,因此SSH客户端将不会死,直到计时器启动。

如果您运行ssh remotehost 'reboot -f >/dev/null &',则将发生以下情况:

  1. 远程外壳程序将reboot在后台启动命令。
  2. 因为已经退出了服务器端shell命令,并且没有任何进程保持打开标准输出的文件描述符,所以SSH服务器关闭了连接。
  3. reboot命令使计算机重新引导。

但是,这并不可靠:根据时间的不同,第3步可能会在第2步之前进行。添加计时器会使这种情况不太可能发生:

ssh remotehost '{ sleep 1; reboot -f; } >/dev/null &'

要绝对确保服务器端已承诺运行reboot,同时确保在通知客户端已提交之前实际上并未重新引导,则需要从服务器到客户端的附加通知。可以通过SSH连接输出,但是变得很复杂。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用ssh命令执行重新启动后关闭连接

来自分类Dev

使用Paramiko通过SSH执行重新启动命令

来自分类Dev

使用Paramiko通过SSH执行重新启动命令

来自分类Dev

执行“ sudo重新启动”后,“连接超时”

来自分类Dev

重新启动交换后关闭问题

来自分类Dev

重新启动后会执行“ at”命令吗?

来自分类Dev

连接后CBCentralManager重新启动

来自分类Dev

每次来宾重新启动后,游民执行脚本或命令(游民启动)

来自分类Dev

重新启动或关闭?

来自分类Dev

在多个服务器上循环执行命令后重新启动服务

来自分类Dev

使用命令行安全地重新启动/关闭

来自分类Dev

如何自动执行Excel的强制关闭,然后重新启动?

来自分类Dev

在关闭并重新启动之前执行简单的脚本

来自分类Dev

监听重新启动并在关闭之前执行代码

来自分类Dev

重新启动或关闭之前无法执行脚本

来自分类Dev

如何从命令行关闭/重新启动phpstorm

来自分类Dev

在关闭/重新启动Ubuntu 18.04上运行命令

来自分类Dev

重新启动后,MariaDB Galera节点关闭

来自分类Dev

重新启动后,webMethods Integration Server即将关闭

来自分类Dev

重新启动后,Visual Studio关闭所有文档

来自分类Dev

重新启动Azure VM后网站关闭

来自分类Dev

重新启动后,MariaDB Galera节点关闭

来自分类Dev

关闭程序后如何自动重新启动程序

来自分类Dev

关闭应用程序后重新启动

来自分类Dev

重新启动后,webMethods Integration Server即将关闭

来自分类Dev

关闭后,ThinkPad T450会重新启动

来自分类Dev

关闭SSH连接后运行本地命令?

来自分类Dev

回滚失败:在Spring-Batch上数据库重新启动后,连接已关闭

来自分类Dev

重新启动时Nodemon不执行命令

Related 相关文章

热门标签

归档