`
kone_wu
  • 浏览: 19411 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

NET::SSH 中 关于要对远程执行reboot时的坑爹教训

 
阅读更多

最近在利用ruby 通过ssh的方式来操作linux机子。遇到了一个问题,就是ruby在ssh端去执行reboot命令的时候,channel断掉了,导致执行exec! (’reboot‘) 之后 就卡死,无法继续执行。然后网上查了写些资料,遂采用了exec的方式,非阻塞模式,但是奇葩的时候,这个exec执行完虽然不卡,一下就执行过,但是问题来了,reboot命令没有被执行啊,设备没有被重启。。。。。 郁闷

对于reboot命令 没有被执行,这个问题具体原因 也没有深究,但我个人感觉是因为采用了非组塞模式后,管道无法达到 ???

 

最后处于无奈啊

经过多次尝试,发现了一个奇葩的解决方式  。。。

在执行完exec('reboot')之后,在执行一个exec!('xxxx')  xxx任何命令都可以。  竟然可以成功了 

 

 

  ssh = Net::SSH.start("200.200.165.139", username, {:password => password , :port => port}) 

 #puts uiui

 puts ssh

 puts ssh.exec!('date') 

         rest = ssh.exec('reboot -f')

  puts ssh.exec!('date')     #加上这句之后,一切都好了

 puts rest

 

 puts "hello end"

分享到:
评论

相关推荐

    Linux命令学习总结:详解reboot命令

    相当于Windows系统中的restart命令。 命令语法: /sbin/reboot [-n] [-w] [-d] [-f] [-i] 或 reboot [-n] [-w] [-d] [-f] [-i] 命令参数: 参数 长参数 描叙 -d 重新启动时不把数据写入记录文件/...

    apk文件 reboot(电视直播视频)

    apk文件 reboot(电视直播视频)apk文件 reboot(电视直播视频)apk文件 reboot(电视直播视频)apk文件 reboot(电视直播视频)apk文件 reboot(电视直播视频)apk文件 reboot(电视直播视频)apk文件 reboot(电视...

    多操作系统选择进入工具(Reboot-To)v4.9官方安装版

    在电脑里安装了多个操作系统的童鞋相信都会有同样的经历,在重启电脑选择进入哪个系统时都要争分夺秒,一个不留神错过了时间又要重启操作一次了。如果你也有这样的烦恼,可以试试今天介绍的 Reboot-To 。 如何使用:...

    android reboot

    自己做的android 重启小程序源码,需要在android源码环境下增加make文件编译。

    vbs reboot

    远程重启电脑VBS vbs reboot remote

    root-reboot_apk

    安卓机轻松root,reboot

    Reboot to LibreELEC.apk

    Reboot to LibreELEC.apk About this Apk file Apk version 1.1 Apk size 1.3 MB File name me.thomastv.rebootupdate-v1.1.apk Support Android Android 4.4+ (KitKat) and later Category Free Android ...

    reboot utility (Windows)

    Windows reboot utility

    reboot_test.rar

    macOS目录下的脚本运行在macOS中,如果运行在window系统中,则会遇到adb shell reboot阻塞且脚本不会往下执行的现象,运行方法为python RebootTest.py 192.168.2.111; windows目录下的脚本运行在windows系统中

    RK Reboot.apk

    Rockchip方案reboot工具,注意,需要打开Debug模式推送至system/app中才可以使用

    纯DOS下面reboot.com重启工具

    把附件中的reboot.com放在dos系统下面就可以实现reboot命令重启了

    linux常用命令大全及详解.zip

    Linux操作系统是一种开源的、免费的操作系统,提供了许多强大的命令和工具来管理和控制系统。以下是一些常用的Linux命令: ls:列出当前目录下的文件和子目录。 cd:切换到指定目录。...reboot:重启系统。 这

    AUTO REBOOT FOR UEFI SHELL

    AUTO REBOOT FOR UEFI SHELL APPLICATION

    linux 自动reboot 工具

    自己写的一个reboot的工具,可以直接运行begin.sh,也可以使用pygtk的界面,调用begin.sh(需要和pygtk的界面放在同一个目录)。有什么问题欢迎指出。rpm打包的spec我也写了,可以使用rpmbuild的命令去打包.因为我...

    reboot:ReBoot:一种重构工具,可在Java Spring-Boot应用程序中自动应用最佳实践

    重新启动对项目执行以下重构: ReBoot的初始版本是用编写的,请参见分支reboot-v1 。 重构 请求映射 Spring为@RequestMapping提供了HTTP方法特定的。 与@RequestMapping @GetMapping ,这些自定义注释( @...

    iReboot v2.0.zip

    iReboot 是Neosmart技术的简化版本,也是一个有效的重启助手工具,常驻系统任务栏,通过它用户可以选择下次重新启动要进入的系统(前提是你安装了多个操作系统). 这款软件的第一个版本出自2007年8月,之前的版本有一个...

    Reboot to LibreELEC_reboottolibreelec_reboottolibreelce_rebootto

    重启盒子进入到LibreELEC或EmuELEC的工具。

    ch1在vmware上安装reboot

    在vmware上安装reboot. 移植说明

    android reboot 重启

    android reboot 第一种是调用shell里面的reboot命令。 还有一种是调用系统提供的api

    Reboot工具代码

    android设备的Reboot工具代码,可以设置重启次数和重启时间.

Global site tag (gtag.js) - Google Analytics