Linux 下 halt,poweroff,shutdown 有什么区别

作者&投稿:蛮有 (若有异议请与网页底部的电邮联系)
Linux里面的poweroff 、halt、shutdown -h now这三个命令的区别在于什么~

一、意思不同
poweroff就是掉电关机了,但实际过程依然是先关闭系统,然后掉电的。
halt是停掉系统而已,并没有掉电,主板是通电的。
shutdown -h now就是halt,后边不写now而是写一个具体时间可以设置几秒后执行这一语句,实际上halt后是掉电关机的。
二、用法不同
shutdown命令,通过参数-h或-r的配合来完成关机或重启,不过在linux系统中只有拥有root权限才可以使用这个命令。
用halt命令来关机时,实际调用的是shutdown -h,halt 执行时将杀死应用进程,执行sync系统调用文件系统写操作完成后就会停止内核。
poweroff,基本用法和halt差不多。

扩展资料:注意事项
shutdown直接断掉电源的方式来关闭linux,这是十分危险的。因为linux与windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失﹐使系统处于不稳定的状态,甚至在有的系统中会损坏硬件设备。
而在系统关机前使用shutdown命令,系统管理员会通知所有登录的用户系统将要关闭,并且login指令会被冻结,即新的用户不能再登录,直接关机或者延迟一定的时间才关机都是可能的,还可能重启。

halt 和 poweroff相当于直接关掉电脑电源一样(不推荐)

shutdown会把各种服务关闭了,然后才关机,比较安全。

关于三者的区别可以根据三者本身的定义来进行区分:

  1. shutdown命令,可以安全的关闭或者重启Linux系统。众所周知Linux系统是不同于Windows系统的,当系统后台运行着好多程序时我们强制关机对于Windows系统可能没有太大的伤害,但是Linux系统是万万不可以的,如果强制关闭系统很有可能使数据丢失,使系统处于一种不稳定的状态。所以我们如果需要强制关机的时候,可以选择使用shutdown命令,这一命令会使系统管理员自动的通知所有已经登录的用户系统将要关闭请提前做好备份,当然这时的新用户也是不可以在登录的。

  2. halt命令,相对于shutdown命令而言是一项比较简单的命令,换句话说这是一项最简单的关机命令。halt在执行时直接强制关闭应用程序,然后执行执行sync系统调用。这款命令,相对而言比较简单。

  3. poweroff命令,它与以上两者最明显的区别就是直接切断电源,然后关闭整个计算机系统,但是由于现在一些嵌入式系统存在漏洞,所以poweroff命令并不能完全适应和应用于所有的嵌入式系统。

除了以上三大关闭系统的命令之外还有两个命令也是用来表示关闭系统的命令:reboot和init

  1. reboot命令,其实reboot的工作命令和halt的工作命令差不多的,唯一的区别就是halt告诉系统关闭。而reboot引发系统重启。

  2. init命令,几乎是所有进程的祖先﹐它的进程号始终为1﹐所以发送TERM信号给init会终止所有的用户进程、命令系统守护进程等。

备注:shutdown比较重要的几个参数说明:

[-t] 在改变到其它runlevel之前﹐告诉init多久以后关机。

[-r] 重启计算器。

[-time] 设定关机〔shutdown〕前的时间

[-f] 在重启计算器〔reboot〕时忽略fsck。 



  在linux下一些常用的关机/重启命令有shutdown、halt、reboot、init及poweroff,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的。  1.shutdown
  shutdown命令安全地将系统关机。
  有些用户会使用直接断掉电源的方式来关闭linux,这是十分危险的。因为linux与windows不同,其后台运行着许多进程,所以强制关机可能会导
  致进程的数据丢失﹐使系统处于不稳定的状态﹐甚至在有的系统中会损坏硬件设备。
  而在系统关机前使用shutdown命令﹐系
  统管理员会通知所有登录的用户系统将要关闭。并且login指令会被冻结﹐即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的﹐还可能重
  启。这是由所有进程〔process〕都会收到系统所送达的信号〔signal〕决定的。这让像vi之类的程序有时间储存目前正在编辑的文档﹐而像处理邮
  件〔mail〕和新闻〔news〕的程序则可以正常地离开等等。
  shutdown执行它的工作是送信号〔signal〕给
  init程序﹐要求它改变runlevel。Runlevel 0被用来停机〔halt〕﹐runlevel
  6是用来重新激活〔reboot〕系统﹐而runlevel
  1则是被用来让系统进入管理工作可以进行的状态﹔这是预设的﹐假定没有-h也没有-r参数给shutdown。要想了解在停机〔halt〕或者重新开机
  〔reboot〕过程中做了哪些动作﹐你可以在这个文件/etc/inittab里看到这些runlevels相关的资料。
  shutdown 参数说明:
  [-t] 在改变到其它runlevel之前﹐告诉init多久以后关机。
  [-r] 重启计算器。
  [-k] 并不真正关机﹐只是送警告信号给每位登录者〔login〕。
  [-h] 关机后关闭电源〔halt〕。
  [-n] 不用init﹐而是自己来关机。不鼓励使用这个选项﹐而且该选项所产生的后果往往不总是你所预期得到的。
  [-c] cancel current process取消目前正在执行的关机程序。所以这个选项当然没有时间参数﹐但是可以输入一个用来解释的讯息﹐而这信息将会送到每位使用者。
  [-f] 在重启计算器〔reboot〕时忽略fsck。
  [-F] 在重启计算器〔reboot〕时强迫fsck。
  [-time] 设定关机〔shutdown〕前的时间。

在linux下一些常用的关机/重启命令有shutdown、halt、reboot、init及poweroff,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的。
  1.shutdown
  shutdown命令安全地将系统关机。
  有些用户会使用直接断掉电源的方式来关闭linux,这是十分危险的。因为linux与windows不同,其后台运行着许多进程,所以强制关机可能会导
  致进程的数据丢失﹐使系统处于不稳定的状态﹐甚至在有的系统中会损坏硬件设备。
  而在系统关机前使用shutdown命令﹐系
  统管理员会通知所有登录的用户系统将要关闭。并且login指令会被冻结﹐即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的﹐还可能重
  启。这是由所有进程〔process〕都会收到系统所送达的信号〔signal〕决定的。这让像vi之类的程序有时间储存目前正在编辑的文档﹐而像处理邮
  件〔mail〕和新闻〔news〕的程序则可以正常地离开等等。
  shutdown执行它的工作是送信号〔signal〕给
  init程序﹐要求它改变runlevel。Runlevel 0被用来停机〔halt〕﹐runlevel
  6是用来重新激活〔reboot〕系统﹐而runlevel
  1则是被用来让系统进入管理工作可以进行的状态﹔这是预设的﹐假定没有-h也没有-r参数给shutdown。要想了解在停机〔halt〕或者重新开机
  〔reboot〕过程中做了哪些动作﹐你可以在这个文件/etc/inittab里看到这些runlevels相关的资料。
  shutdown 参数说明:
  [-t] 在改变到其它runlevel之前﹐告诉init多久以后关机。
  [-r] 重启计算器。
  [-k] 并不真正关机﹐只是送警告信号给每位登录者〔login〕。
  [-h] 关机后关闭电源〔halt〕。
  [-n] 不用init﹐而是自己来关机。不鼓励使用这个选项﹐而且该选项所产生的后果往往不总是你所预期得到的。
  [-c] cancel current process取消目前正在执行的关机程序。所以这个选项当然没有时间参数﹐但是可以输入一个用来解释的讯息﹐而这信息将会送到每位使用者。
  [-f] 在重启计算器〔reboot〕时忽略fsck。
  [-F] 在重启计算器〔reboot〕时强迫fsck。
  [-time] 设定关机〔shutdown〕前的时间。
  2.halt—-最简单的关机命令
  其实halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。
  参数说明:
  [-n] 防止sync系统调用﹐它用在用fsck修补根分区之后﹐以阻止内核用老版本的超级块〔superblock〕覆盖修补过的超级块。
  [-w] 并不是真正的重启或关机﹐只是写wtmp〔/var/log/wtmp〕纪录。
  [-d] 不写wtmp纪录〔已包含在选项[-n]中〕。
  [-f] 没有调用shutdown而强制关机或重启。
  [-i] 关机〔或重启〕前﹐关掉所有的网络接口。
  [-p] 该选项为缺省选项。就是关机时调用poweroff。
  3.reboot
  reboot的工作过程差不多跟halt一样﹐不过它是引发主机重启﹐而halt是关机。它的参数与halt相差不多。
  4.init
  init是所有进程的祖先﹐它的进程号始终为1﹐所以发送TERM信号给init会终止所有的用户进程﹑守护进程等。shutdown
  就是使用这种机制。init定义了8个运行级别(runlevel),init 0为关机﹐init
  1为重启。关于init可以长篇大论﹐这里就不再叙述。另外还有telinit命令可以改变init的运行级别﹐比如﹐telinit
  -iS可使系统进入单用户模式﹐并且得不到使用shutdown时的信息和等待时间。
  5.poweroff在关闭计算机操作系统之后,最后还会发送ACPI指令,通知电源,最后切断电源供应,当然路由器等嵌入系统不支持ACPI的,所以这个无效。


白下区13798057066: Linux 下 halt,poweroff,shutdown 有什么区别 -
芝艺奥美: 在linux下一些常用的关机/重启命令有shutdown、halt、reboot、init及poweroff,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的.1.shutdownshutdown命令安全地将系统关机.有些用户会使用直接断掉电源的方式来关...

白下区13798057066: linux系统下的Login,Logout,Reboot,Halt,Exit,Poweroff,Shutdown命令分别是什么意思? -
芝艺奥美: login 1.作用login的作用是登录系统,它的使用权限是所有用户. 2.格式login [name][-p ][-h 主机名称]3.主要参数-p:通知login保持现在的环境参数.-h:用来向远程登录的之间传输用户名.如果选择用命令行模式登录Linux的话,那么看到...

白下区13798057066: ubuntu下安装jdk6.0失败,提示是系统halt因为出现了太多的错误,怎么解决? -
芝艺奥美: Linux下jdk的安装与配置1.JDK1.6安装准备从sun公司网站www.sun.com下载linux版本的jdk,jdk-6u7-linux-i586.bin. 打开终端,用cd命令进入jdk所在目录,执行复制命令sudo cp jdk-6u7-linux-i586.bin /usr即将jdk复制到/usr目录下,然后进入/...

白下区13798057066: 在linux ~$提示符下输入关机命令(shutdown、halt)均是以下提示 - bash:shutdown(halt):command not found -
芝艺奥美: 解答:linux ~$提示符:表示当前登录的用户使普通用户 而shutdown、halt都属于系统管理工具,位于/sbin目录下,默认只有管理员具有相应的权限才可以使用.而出现"bash:shutdown(halt):command not found"错误的原因是当前普通用户的...

白下区13798057066: 求LINUX习题答案:以下命令可以重新启动计算机的是( ) -
芝艺奥美: root登录的话:答案是A和D. 不是root登录的话没有答案. 普通用户可以用 sudo reboot 和sudo init 6重启.(输入命令以后还要输入普通用户密码) 至于B选项应该是halt,可能是你写错啦.halt是关机(也是root直接用). shutdown---是window下的关机命令.shutdown---好像是linux下的关机警告,不能关机的.

白下区13798057066: 如何在linux下开启FTP服务 -
芝艺奥美: 如何在linux下开启FTP服务1. 首先服务器要安装ftp软件,查看是否已经安装ftp软件下:#which vsftpd 如果看到有vsftpd的目录说明服务器已经安装了ftp软件2. 查看ftp 服务器状态#service vsftpd status3. 启动ftp服务器#service vsftpd start4. 重启ftp服...

白下区13798057066: linux服务器down了怎么办 -
芝艺奥美: Linux关闭和重启系统一般使用相同的命令可以实现. 在Linux系统下常用在关机/重启命令有shutdown、halt、reboot和init,但每个命令的内部工作过程是不同的. 1.shutdown命令 Shutdown命令可以安全地关闭系统,有些用户会使用直接断电...

白下区13798057066: 各位高手.我从网上下载linux操作系统,但是怎么安装啊. -
芝艺奥美: 安装LINUX其实和安装WIN98一样容易,不相信,咱走着瞧.(一)安装前准备1、由于初次安装RedHat,为了避免与WIN98冲突,我特地找个闲置的640M的硬盘,并把它设置为从盘,打算把RedHalt安装到该硬盘上.进入WIN98后,系统自...

白下区13798057066: linux下配置jdk环境变量的几种方法 -
芝艺奥美: 那么首先就需要配置好linux下的java环境,具体说来,就是配置jdk环境变量.本文就介绍在linux下配置jdk环境变量的几种常用方法.首先在linux下安装jdk,如果出现提示权限不够(且root下也提示权限不够),可用#ls -l filename命令查看一下,...

白下区13798057066: Windows和Linux下的网络编程方法的异同 -
芝艺奥美: Linux下的网络编程与Windows下采用底层的API类似,但是也有区别:区别一:Windows下需加上WSAStartup()函数区别二:关闭socket:Linux为close(),Windows为closesocket()windows下采用上层的API,一般有CSocket和CAsynSocket这两种类型的类这种情况以下socket函数一般的首字母大写.而底层的API不管是windows下的还是linux下的socket函数首字母都是小写的.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网