重启行为的差异

我有2台机器运行Linux。

在一台机器上,reboot命令是所有Linux发行版中通常可以find的可执行文件。

在第二台机器中,reboot命令是使用一些其他硬件工具命令来定制的shell脚本来重新启动系统。

两台机器之间的一个行为差异是,当我在第一台机器上执行reboot命令时,它显示另一个shell提示符,然后重新启动。

但在第二台机器的情况下,它会重新启动,而不会显示shell提示符。 我希望第二台机器的行为方式与第一台机器的重启命令一样。

目前我正在分析通常在linux发行版中find的shutdown.chalt.c的源代码,以便我可以find在重新启动时生成shell propmt的实现,并在第二台机器的shell脚本中使用它。

请给我一些指导,我应该从哪里开始寻找实施。

谢谢

改用shutdown -r 。 这在历史上被广泛使用,所以我相信它的接口和行为是更为普遍的可预测的。

我的猜测是,该计划双重分出自己的背景。

我期望返回到提示符的程序实际上本身并没有做任何事情,而是与你的init守护进程(sysvinit或upstart或任何正在运行的进程1)进行通信,并要求它closures系统。 另一个脚本只是一个普通的脚本。

Linux内核是什么问题最终系统调用重新启动机器,而不是用户空间。 内核可能会在内部使用IPMI来重启机器。 系统有不同的关机和重启的方法。 我遇到了一些需要你在RTC上启动一个引脚以重启系统的内核,而这正是内核对该机器所做的。

机器的架构是什么? ARM,MIPS等? 如果我没有弄错的话,WindRiver是VxWorks的开发者。 你可以打电话给他们的支持人员,看他们是否也可以帮助你。