当前位置:  开发笔记 > 编程语言 > 正文

我如何知道系统是否已启动?

如何解决《我如何知道系统是否已启动?》经验,为你挑选了3个好方法。

我正在编写一个通过网络启动系统的脚本.然后我需要在另一台主机上运行一些命令.我如何知道系统是否已开机?

我的编程语言是Perl,目标主机是RHEL5.

是否有任何内核中断或网络启动信息表明系统已启动且操作系统已加载?

[在另一种情况下]我也想知道以防我是否只是手动打开我的机器.什么时候才能确切地说已打开电源.何时OS应该完全启动以进行网络相关操作,例如在那里执行网络命令.如果系统在DHCP上,那么远程系统如何搜索这台机器怎么办[我猜它可以通过mac地址.但如果我错了].

如果我错过了任何信息,请随时问我.如果您有任何建议可以使任务更容易,请表明他们:)

thanx imkin



1> Tanktalus..:

好吧,我会说系统在它可以执行你的请求时启动了.也就是说,sshd守护程序正在运行.这是为了你的目的足够启动(我假设 - 替换你真正需要的任何守护进程).

所以,我发送开机信号,每隔15-30秒检查一下,看看我是否可以连接.如果我无法在合理的时间内连接该机器(2分钟或5分钟或其他),那么我会向IT支持团队发送警报.好吧,我先把它发给自己,只有在我调查了几次失败后才发现它们都是合法的,我会开始直接发送给IT.

DHCP是一个不同的问题.你必须开始学习广播,或者在启动过程中在该机器上有一个守护进程"回家"以注册其当前的IP地址.每次DHCP续订改变其IP地址时,它都必须"回家".这显然更复杂.尽可能避免在这样的服务器上使用DHCP.



2> moritz..:

在重新启动计算机上,您可以使用特殊@reboot断言在crontab中安装脚本(请参阅参考资料man 5 crontab).该脚本可以向其他计算机发送某种通知,通知它现在已经启动.



3> Leon Timmerm..:

我认为检查sshd听起来是一个很好的方法.

至于DHCP问题:如果另一台计算机在同一个子网上,您可以使用Net :: ARP通过MAC地址查找.

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有