linux重启命令 有这五种重启命令

linux重启命令 有这五种重启命令,第1张

1、shutdown

shutdown命令安全地将系统关机。有些用户会使用直接断掉电源的方式来关闭Linux,这是十分危险的。因为Linux与windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至在有的系统中会损坏硬件设备。而在系统关机前使用shutdown命令,系统管理员会通知所有登录的用户系统将要关闭。并且login指令会被冻结,即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的,还可能重启。这是由所有进程process都会收到系统所送达的信号signal决定的。这让像vi之类的程序有时间存储目前正在编辑的文档,而像处理邮件mail和新闻news的程序则可以正常地离开等等。

shutdown执行它的工作是送信号signal给init程序,要求它改变runlevel。

2、poweroff

poweroff命令用于关闭计算器并切断电源。

使用权限:系统管理者。

语法:poweroff [-n] [-w] [-d] [-f] [-i] [-h]

参数说明:

-n 在关机前不做将记忆体资料写回硬盘的动作

-w 并不会真的关机,只是把记录写到/var/log/wtmp档案里

-d 不把记录写到/var/log/wtmp文件里

-i 在关机之前先把所有网络相关的装置先停止

-p 关闭 *** 作系统之前将系统中所有的硬件设置为备用模式

3、halt

最简单的关机命令。其实halt就是调用shutdown -h。halt执行时,杀死应用进程,执行sync系统调用,文件系统写 *** 作完成后就会停止内核。

参数说明:

[-n] 防止sync系统调用,它用在用fsck修补根分区之后,以阻止内核用老版本的超级块superblock覆盖修补过的超级块。

[-w] 并不是真正的重启或关机,只是写。

wtmp 〔/var/log/wtmp〕纪录。

[-d] 不写wtmp纪录。

[-f] 没有调用shutdown而强制关机或重启。

[-i] 关机或重启前,关掉所有的网络接口。

[-p] 该选项为缺省选项,就是关机时调用poweroff。

4、reboot

reboot的工作过程差不多跟halt一样,不过它是引发主机重启,而halt是关机。它的参数与halt相差不多。

5、init

init是所有进程的祖先,它的进程号始终为1.所以发送TERM信号给init会终止所有的用户进程、守护进程等。shutdown就是使用这种机制。init定义了8个运行级别,init 0为关机、init 1为重启,其它运行级别这里不做过多介绍。另外还有telinit命令可以改变init的运行级别,比如:telinit -iS可使系统进入单用户模式,并且得不到使用shutdown时的信息和等待时间。

系统的几种方法

实际生产环境中某些情况下 Linux 服务器系统在出现致命错误需要远程进行重启,通过常规的 reboot、init 6 等方法无法正常重启(例如重启时卡在驱动程序里等情况),这时就需要通过下面介绍的几种特殊的方法进行强制重启。

注意

下面这些强制重启 Linux 的方法都是直接跳过 umount 文件系统及 sync 等 *** 作,可能导致数据损坏,不在特殊情况下请勿使用。

另外当然这些都是需要 root 超级用户权限的哦。

reboot 命令

直接通过运行 reboot -nf 命令,这样重启时可以指定跳过 init 的处理和 sync *** 作,这样可以避免大多数情况下的问题。

magic SysRq key 方法

magic SysRq key 通过 proc 接口提供用户直接发底层命令给 kernel 的功能,可以实现关机、重启、宕机等 *** 作

Linux kernel 需要开启 CONFIG_MAGIC_SYSRQ 才可以支持 magic SysRq key。

运行下面两条命令就可以直接强制重启系统:

[root@localhost ~]# echo 1 >/proc/sys/kernel/sysrq

[root@localhost ~]# echo b >/proc/sysrq-trigger

相应的直接强制关机的命令:

[root@localhost ~]# echo 1 >/proc/sys/kernel/sysrq

[root@localhost ~]# echo o >/proc/sysrq-trigger

watchdog 方法

如果 Linux kernel 未开启 magic SysRq key 或者不起作用,可以尝试使用 watchdog 重启方法。watchdog 通过监控数据输入是否正常可以实现在系统出现异常时自动重启系统,这里我们刚好可以借用的。

首先需要加载 watchdog 支持,这个和主板硬件设备有关,如果只需要软件模拟的,可以运行:

[root@localhost ~]# modprobe softdog

命令加载软件 watchdog 支持,接着再运行:

[root@localhost ~]# cat /dev/watchdog

命令,该命令会马上退出并报错,同时系统日志中就会提示:

softdog: Unexpected close, not stopping watchdog!

这就表示 watchdog 设备是被意外关闭的而不是正常停止的,大约等待 60 秒之后你就会发现 Linux 系统自动重启了。

Linux watchdog 的异常等待时间是通过 /proc/sys/kernel/watchdog_thresh 设置的,一般默认为 60 秒。

IPMI 方法

上面几种方法都不能用?如果你的主板刚好支持 IPMI 管理接口的话

那可以直接通过 IPMI 实现硬件上的强制关机或重启。

首先加载 IPMI 支持:

[root@localhost ~]# modprobe ipmi_msghandler ipmi_devintf ipmi_si

确认 IPMI 设备是否已找到:

[root@localhost ~]# ls -l /dev/ipmi*

如果输出正常的话表示 IPMI 被正确加载了,接着安装 ipmitool 管理工具。

ipmitool 可以通过 IPMI 接口完成对本机或远程主机的一系列管理 *** 作。

这里我们就用直接电源管理的,重启系统:

[root@localhost ~]# ipmitool power reset

运行完成后主机就会马上重启,相应的关闭主机可以运行命令:

[root@localhost ~]# ipmitool power off

ipmitool 还可以实现在系统未启动时远程查看监控主板硬件状态等功能


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/6078532.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-14
下一篇 2023-03-14

发表评论

登录后才能评论

评论列表(0条)

保存