【问题标题】:Sending Ctrl_C over ssh通过 ssh 发送 Ctrl_C
【发布时间】:2017-02-10 17:25:04
【问题描述】:

在我的许多服务器上,autofs 已挂起,并且一个进程正在尝试访问挂载,当我 ssh 到远程主机时,它一直挂在那里,直到我按下 Crtl+C 来自我的键盘

dew:~ # ssh  dew00922

但是当我按下 Crtl+C 时,它会进入提示符

dew:~ # ssh  dew00922
^C-bash-3.2#
-bash-3.2#

我正在尝试通过 ssh 发送陷阱信号,但这也挂起

dew:~ # ssh  dew00922 'trap 2 && service autofs restart'

解决此问题的任何帮助。

【问题讨论】:

    标签: linux unix ssh bash-trap


    【解决方案1】:

    当您 ssh 进入时,它会尝试运行 /etc/profile,然后运行 ​​~root/.profile(或 ~root/.bash_profile~root/.bash_login)和 ~root/.bashrc。其中一个脚本运行一个尝试访问挂起文件系统的命令。当您按下 ^C 时,您正在杀死脚本并从 dew0922 上的 bash 中获得提示。此时您已登录 dew00922 并可以运行命令。您运行的任何尝试访问挂起的文件系统的命令都会挂起。

    【讨论】:

    • 很有意义,所以基本上它必须失败..,谢谢您的投入
    【解决方案2】:

    timeout 是针对此类问题的工具:

    ssh  dew00922 'timeout 2 service autofs restart'
    

    更多信息请见man timeout

    【讨论】:

      猜你喜欢
      • 2013-02-17
      • 2016-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-16
      • 2010-10-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多