在Ubuntu使用中,有些情况下,会碰到使用命令进行关机,比如在电源关机键忽然消失了(这种情况时有发生)。一般来讲实现关机功系统中主要有四种方式:shutdow,
halt, reboot,poweroff和init;他们之间的区别又是什么呢?
便宜美国vps
使用shutdown(安全关机)命令时,系统管理员会通知所有登录的用户系统将要关闭,并且login指令会被冻结,即新用户不能再登录;这种关机方式也是我们使用的系统右上角的那个电源管理项里面的shutdow,是最安全的一种关机方式。
下面就是在机器收到命令执行shutdown之后,如何实现halt和reboot.具體的一些命令参数见下图
但是需要设定时间值,可以使用” m”(m为数字,即你要实现这个功能延迟的分钟数;
需要立即执行,除了使用数字0时,也可以用“now”来替代),或者24小时制的”-h
hh:mm”(hh处指于几点钟,mm处指在几分钟时)来执行命令。以下的halt,poweroff
和init也要加上所述数值。
比如:电脑在100分钟后安全关机
sudo shutdown 100
在下午六点执行关机
sudo shutdown -h 18:00
直接关机/关闭电源/重启(即指安全关机后进行直接关机 /切断电源/重新启动的操作):
安全关机后重启,执行
sudo shutdown -r 0
或
sudo shutdown -r now
安全关机后直接关机或者关闭电源
sudo shutdown -h 0
或
sudo shutdown -h now
安全关机后关闭电源
sudo shutdown -P 0
或
sudo shutdown -P now
设置以上命令,但并未实现前需要取消任务,可以执行
sudo shutdown -c
或
终端里使用快捷键组合:Ctrl c
并不真正shutdown,只是发送警告给login(登录者)
sudo shutdown -k
执行halt时,系统会杀死应用进程,并执行sync系统调用,文件系统写操作完成后就会停止内核。sync意为“同步”,指同步内存与磁盘的数据。内核在正常运行时把数据保持在内存里而不使用磁盘读写,是为了提高速度及性能。但危险在于如果计算机档掉,数据会丢失,或损坏文件系统。sync可以保证关机/重启/关电源前把内存中的数据写入磁盘。Halt的一些基本参数见下图:
在重启/直接关机前不执行同步内存与磁盘的数据的sync动作(以阻止内核用老版本的超级块(superblock)覆盖修补过的超级块)
sudo halt -n
强制重启/直接关机,不需要安全关机过程运行,运行级别(runlevel)为8
sudo halt -f
当直接关机的命令给出时,关闭电源
sudo halt -p
并非实际的重启/直接关机,只是执行wtmp记录的写入动作(/var/log/wtmp)
sudo halt -w
建议以上halt的这些终端命令不要尝试,因为作者实验一次死机一次,至今不得解。
reboot(重启)工作过程跟halt相似,所以命令效果也是一样的,唯一不同的是它的结果是重启,而halt是直接关机。
Poweroff运行机制也是跟halt相似的,参数定义也相同,只是目的是电源关闭。
Init既是最原始的一种关机机制但也是比较复杂的,所以在此作者知识有限,点到为止。希望以上对大家有助。
49633201