找回密码
 加入怎通
查看: 355|回复: 6

[其他] Linux关机命令详解

[复制链接]
千喜娟娟 发表于 2016-02-18 10:58:25 | 显示全部楼层 |阅读模式
Linux关机命令详解
' d4 g( U$ O3 {5 o; J8 ^4 E9 o/ ~
在linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的,通过本文的介绍,希望你可以更加灵活的运用各种关机命令) K) w7 T4 D5 k- N5 y: a* [# N7 N
" R3 F. u! {( v! ~
linux下常用的关机命令有:shutdown、halt、poweroff、init;重启命令有:reboot。下面本文就主要介绍一些常用的关机命令以及各种关机命令之间的区别和具体用法。 8 Q8 ?8 E0 }( m, q/ R1 e2 X  f

7 t2 ~$ u6 @* H3 s首先来看一下linux下比较常用的一些关机命令   M3 w3 D" a% _4 X: l. s* ~

; F3 W$ `. l% B/ e关机命令: ! z3 O& g$ C5 n9 J7 A1 k# r. T4 U
1 ^7 K; y6 x% }
1、halt 立刻关机 2、poweroff 立刻关机 3、shutdown -h now 立刻关机(root用户使用) 4、shutdown -h 10 10分钟后自动关机 如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启
1 K+ z! m; L" k3 S8 H- I3 ~* c
7 S* |8 [8 [# S重启命令:
7 C# x! ?' C4 h
& o4 m' A' x+ G: z* Y1、reboot 2、shutdown -r now 立刻重启(root用户使用) 3、shutdown -r 10 过10分钟自动重启(root用户使用) 4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用) 如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启
4 A& _. n( p+ w7 K0 {8 _9 D* H
1 _+ g* |, J1 M在linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的。
; a) ?: x4 j1 e9 r1 v3 {& I; P! e2 b" p
Linux centos重启命令:
5 r! J! P( i" k) h% e/ `& w& L
6 B! T6 q* h9 D0 \1、reboot
, W6 O* J- _# I" ^; }5 s7 P2、shutdown -r now 立刻重启(root用户使用) % c8 n0 H5 k& a# H3 s  ]" G0 P
3、shutdown -r 10 过10分钟自动重启(root用户使用) & E1 j: c) J" @
4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用)
6 r2 B5 P$ ?( y0 K6 ^& p5 y
- [  M% ?. L3 R! ~, h如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启
2 y9 `6 E; s1 w: w  g( L' R! G+ @) F# P
Linux centos关机命令:
, Q9 W2 p; Z! h8 G$ G4 ]7 `
/ T: I2 u9 o: O1、halt 立刻关机 : A; j+ R4 U( y" t3 B  o4 l
2、poweroff 立刻关机 0 f" `/ H: N' m. x) {! n; P# Q
3、shutdown -h now 立刻关机(root用户使用) / b4 i, [1 M; j' h% a1 I. [
4、shutdown -h 10 10分钟后自动关机
. T% V8 K: [4 E* k  n2 Z
- Q3 _/ G, b6 u0 d' Z如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启+ u8 W' |, x! ]/ q

3 u3 u# T4 c! O  [8 j$ B- z1.shutdown 1 n" ?! T9 v5 z4 T0 f: J
  shutdown命令安全地将系统关机。 有些用户会使用直接断掉电源的方式来关闭linux,这是十分危险的。因为linux与windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失﹐使系统处于不稳定的状态﹐甚至在有的系统中会损坏硬件设备。 0 S: M! n" K# r+ x) H3 t2 x- k( w
/ s- w% q1 v- `! T- l( Q7 Y
  而在系统关机前使用shutdown命令﹐系统管理员会通知所有登录的用户系统将要关闭。并且login指令会被冻结﹐即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的﹐还可能重启。这是由所有进程〔process〕都会收到系统所送达的信号〔signal〕决定的。这让像vi之类的程序有时间储存目前正在编辑的文档﹐而像处理邮件〔mail〕和新闻〔news〕的程序则可以正常地离开等等。 4 v- o  y0 \0 [; w% l; Q
! i" e, c6 V; C5 i
  shutdown执行它的工作是送信号〔signal〕给init程序﹐要求它改变runlevel。Runlevel 0被用来停机〔halt〕﹐runlevel 6是用来重新激活〔reboot〕系统﹐而runlevel 1则是被用来让系统进入管理工作可以进行的状态﹔这是预设的﹐假定没有-h也没有-r参数给shutdown。要想了解在停机〔halt〕或者重新开机〔reboot〕过程中做了哪些动作﹐你可以在这个文件/etc/inittab里看到这些runlevels相关的资料。
4 _$ ~/ r) c7 \6 J0 \, e
  o# Y# @6 x6 u3 |% d) C, Q  \7 [shutdown 参数说明:
3 w/ [/ h0 Y+ S$ d$ Q, e   [-t] 在改变到其它runlevel之前﹐告诉init多久以后关机。
  h5 [& `! k7 H9 \3 A$ {   [-r] 重启计算器。 2 b; L# ?( I& C
   [-k] 并不真正关机﹐只是送警告信号给每位登录者〔login〕。
3 a8 T. t8 {& V& M   [-h] 关机后关闭电源〔halt〕。 0 |( [' V' c0 }, `6 H0 Y- G
   [-n] 不用init﹐而是自己来关机。不鼓励使用这个选项﹐而且该选项所产生的后果往往不总是你所预期得到的。 ( z/ C% L$ d* X) |/ L! P
   [-c] cancel current process取消目前正在执行的关机程序。所以这个选项当然没有时间参数﹐但是可以输入一个用来解释的讯息﹐而这信息将会送到每位使用者。
& n& v: g( j! o" J' s( o7 S   [-f] 在重启计算器〔reboot〕时忽略fsck。
% @+ m2 i0 y7 ~# `1 w[-F] 在重启计算器〔reboot〕时强迫fsck。
8 |# D7 L+ {) W% w4 p; i   [-time] 设定关机〔shutdown〕前的时间。 $ G+ b' q0 @+ S0 p) `$ s
8 P' s: i$ R  X2 K. `, y  s9 u5 L; H
2.halt----最简单的关机命令
8 f) z, F6 G, n, |7 _+ Q, M2 r: ]& z- A: C2 o
   其实halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。 % l/ R/ e: \" F% x; h0 v* R" }& k
   参数说明:
' C' m  ]6 `& w   [-n] 防止sync系统调用﹐它用在用fsck修补根分区之后﹐以阻止内核用老版本的超级块〔superblock〕覆盖修补过的超级块。 1 s9 x; E/ Q$ i' p$ }; O# Z* J
   [-w] 并不是真正的重启或关机﹐只是写wtmp〔/var/log/wtmp〕纪录。 . p: G0 D3 S: d8 S  f; t/ V/ l
   [-d] 不写wtmp纪录〔已包含在选项[-n]中〕。 7 L; h- R$ {* S$ C3 w
   [-f] 没有调用shutdown而强制关机或重启。
0 L+ l+ @( z4 [% u* _# h, ?   [-i] 关机〔或重启〕前﹐关掉所有的网络接口。 , H1 h% e3 p) p# M
   [-p] 该选项为缺省选项。就是关机时调用poweroff。 3 r' i9 \/ ?1 W6 v! N' D: u% {

6 k' s# P9 H4 c2 ]7 t# O9 k3.reboot # T( O. y+ C* c) ~5 K4 i+ U5 T
  reboot的工作过程差不多跟halt一样﹐不过它是引发主机重启﹐而halt是关机。它的参数与halt相差不多。
6 I/ j+ r6 E/ {( E1 z$ x+ q$ b  f. E6 s3 E6 R4 H  l  o
4.init ! L9 v) P6 |4 P; m6 G
  init是所有进程的祖先﹐它的进程号始终为1﹐所以发送TERM信号给init会终止所有的用户进程﹑守护进程等。shutdown 就是使用这种机制。init定义了8个运行级别(runlevel), init 0为关机﹐init 1为重启。关于init可以长篇大论﹐这里就不再叙述。另外还有 telinit命令可以改变init的运行级别﹐比如﹐telinit -iS可使系统进入单用户模式﹐并且得不到使用shutdown时的信息和等待时间。
( K. c4 b, Q% U- r! H( J
0 F' O* E& W1 v( H9 F% E5.reboot 重启命令
" h$ X& h! R+ L" f& N- q1 v) w9 m# H5 f! e1 W
reboot的工作过程差不多跟halt一样。不过它是引发主机重启,而halt是关机。它的参数与halt相差不多。+ p, a' C4 ~0 Y: Y6 U* d

, t# W, [+ ?1 w$ c2 ]2 `8 F陕西服务器托管、租用,云主机、虚拟空间,联系电话:15529362365娟子~~
2 j& R! ~( T* x2 b  n6 w# e; j
- i8 n" q% I$ M  Q
9 l/ r/ D% V6 S
回复

使用道具 举报

邳州银杏苗木 发表于 2016-02-18 10:59:22 | 显示全部楼层
沙发!沙发!沙发!
回复 支持 反对

使用道具 举报

xiaoxiaoxi 发表于 2016-02-18 13:30:50 | 显示全部楼层
Linux课程讲解么
$ K! L- K8 \, h) j0 ~8 @9 xwww.winqr.com
回复 支持 反对

使用道具 举报

孜孜不倦 发表于 2026-01-12 16:34:16 | 显示全部楼层
学习到了,之前一直没注意过这个点,受教了
回复 支持 反对

使用道具 举报

yds0816 发表于 2026-01-14 07:15:48 | 显示全部楼层
楼主太厉害了,整理得这么详细,必须支持
回复 支持 反对

使用道具 举报

auq2010 发表于 2026-01-17 20:47:57 | 显示全部楼层
刚好遇到类似问题,看完这个帖子心里有底了
回复 支持 反对

使用道具 举报

kmleelee 发表于 2026-04-27 14:26:05 | 显示全部楼层
蹲了这么久,终于看到有价值的讨论,支持一下!
回复 支持 反对

使用道具 举报

    您需要登录后才可以回帖 登录 | 加入怎通

    本版积分规则

    QQ|手机版|小黑屋|网站地图|真牛社区 ( 苏ICP备2023040716号-2 )

    GMT+8, 2026-4-28 11:55 , Processed in 4.414986 second(s), 28 queries , Gzip On.

    免责声明:本站信息来自互联网,本站不对其内容真实性负责,如有侵权等情况请联系420897364#qq.com(把#换成@)删除。

    Powered by Discuz! X3.5

    快速回复 返回顶部 返回列表