L inux关机命令详解
摘要:在l inux下一些常用的关机/重启命令有shutdown、 ha lt、 reb o ot、及init它们都可以达到重启系统的目的但每个命令的内部工作过程是不同的通过本文的介绍希望你可以更加灵活的运用各种关机命令.
在li nux下一些常用的关机/重启命令有shutdown、 ha lt、 reb o ot、及init它们都可以达到重启系统的目的但每个命令的内部工作过程是不同的通过本文的介绍希望你可以更加灵活的运用各种关机命令。
1.s hutd o w nshutdo wn命令安全地将系统关机。 有些用户会使用直接断掉电源的方式来关闭li nux这是十分危险的。因为linux与w indo ws不同其后台运行着许多进程所以强制关机可能会导致进程的数据丢失使系统处于不稳定的状态甚至在有的系统中会损坏硬件设备。
而在系统关机前使用shutd own命令系统管理员会通知所有登录的用户系统将要关闭。并且login指令会被冻结即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的还可能重启。这是由所有进程〔proces s〕都会收到系统所送达的信号〔s ignal〕决定的。这让像vi之类的程序有时间储存目前正在编辑的文档而像处理邮件〔mail〕和新闻〔news〕的程序则可以正常地离开等等。shutdo wn执行它的工作是送信号〔signa l〕给init程序要求它改变runleve l。 Runleve l 0被用来停机〔halt〕 runleve l 6是用来重新激活〔reb oot〕系统而runlevel 1则是被用来让系统进入管理工作可以进行的状态这是预设的假定没有-h也没有-r参数给s hutd own。要想了解在停机〔ha lt〕或者重新开机
〔reb o ot〕过程中做了哪些动作你可以在这个文件/etc/initt a b里看到这些runl eve ls相关的资料。 shutdown-h no w(立即关机且关闭电源)shut down参数说明:
[-t]在改变到其它runle ve l之前告诉init多久以后关机。
[-r]重启计算器。
[-k]并不真正关机只是送警告信号给每位登录者〔 login〕 。
[-h]关机后关闭电源〔halt〕 。
[-n]不用in it 而是自己来关机。不鼓励使用这个选项而且该选项所产生的后果往往不总是你所预期得到的。
[-c]cancel current process取消目前正在执行的关机程序。所以这个选项当然没有时间参数但是可以输入一个用来解释的讯息而这信息将会送到每位使用者。
[-f]在重启计算器〔rebo ot〕时忽略fsck。
[-F]在重启计算器〔reboot〕时强迫fs c k。
[-t ime]设定关机〔s hutdo w n〕前的时间。
2.halt----最简单的关机命令halt-p(关机后关闭电源)
其实ha lt就是调用s hutdo wn-h。 ha lt执行时杀死应用进程执行sync系统调用文件系统写操作完成后就会停止内核。
参数说明:
[-n]防止sync系统调用它用在用fsck修补根分区之后以阻止内核用老版本的超级块〔superblock〕覆盖修补过的超级块。
[-w]并不是真正的重启或关机只是写wtmp 〔/var/lo g/wtmp〕纪录。
[-d]不写wtmp纪录〔已包含在选项[-n]中〕 。
[-f]没有调用s hutdo wn而强制关机或重启。
[-i]关机〔或重启〕前关掉所有的网络接口。
[-p]该选项为缺省选项。就是关机时调用powe roff。
3.reb o otreboot的工作过程差不多跟halt一样不过它是引发主机重启而halt是关机。它的参数与halt相差不多。
4.in itinit是所有进程的祖先它的进程号始终为1 所以发送TERM信号给in it会终止所有的用户进程守护进程等。 s hutd o w n就是使用这种机制。 in it定义了8个运行级别(runleve l) init 0为关机 init 1为重启。关于init可以长篇大论这里就不再叙述。另外还有t elinit命令可以改变init的运行级别比如 te lin it-iS可使系统进入单用户模式并且得不到使用shutd own时的信息和等待时间。
最简单的L inux关机命令程序
#inc lude<s ignal.h>
#inc lude<std io.h>
#inc lude<unis td.h>
#inc lude<sys/reboo t.h>int main(int argc, char **argv)
{
/* first disable all our signals*/sigset_t set;sigfillset(&set);s igproc mask(SIG_B LO CK,&set,NULL);
/* send signals to all processes _except_pid 1 */printf("sending SIGTERM signal to all processes\n");kill(-1,SIGTERM);sync();s le ep(3);printf("sending SIGKILL signal to all processes\n");kill(-1,SIGKILL);sync();s leep(3);
/* s hutd own*/printf("s yste m shutdown\n");sleep(2);reboot(RB_POWER_OFF);
}
华为云818上云活动活动截止到8月31日。1、秒杀限时区优惠仅限一单!云服务器秒杀价低至0.59折,每日9点开抢秒杀抢购活动仅限早上9点开始,有限量库存的。2G1M云服务器低至首年69元。2、新用户折扣区优惠仅限一单!购云服务器享3折起加购主机安全及数据库。企业和个人的优惠力度和方案是不同的。比如还有.CN域名首年8元。华为云服务器CPU资源正常没有扣量。3、抽奖活动在8.4-8.31日期间注册并...
tmhhost怎么样?tmhhost正在搞暑假大促销活动,全部是高端线路VPS,现在直接季付8折优惠,活动截止时间是8月31日。可选机房及线路有美国洛杉矶cn2 gia+200G高防、洛杉矶三网CN2 GIA、洛杉矶CERA机房CN2 GIA,日本软银(100M带宽)、香港BGP直连200M带宽、香港三网CN2 GIA、韩国双向CN2。点击进入:tmhhost官方网站地址tmhhost优惠码:Tm...
Advinservers,国外商家,公司位于新泽西州,似乎刚刚新成立不久,主要提供美国和欧洲地区VPS和独立服务器业务等。现在有几款产品优惠,高达7.5TB的存储VPS和高达3.5TBDDoS保护的美国纽约高防服务器,性价比非常不错,有兴趣的可以关注一下,并且支持Paypal付款。官方网站点击直达官方网站促销产品第一款VPS为预购,预计8月1日交付。CPU为英特尔至强 CPU(X 或 E5)。官方...