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);
}
数脉科技六月优惠促销发布了!数脉科技对香港自营机房的香港服务器进行超低价促销,可选择30M、50M、100Mbps的优质bgp网络。更大带宽可在选购时选择同样享受优惠,目前仅提供HKBGP、阿里云产品,香港CN2、产品优惠码续费有效,仅限新购,每个客户可使用于一个订单。新客户可以立减400元,或者选择对应的机器用相应的优惠码,有需要的朋友可以尝试一下。点击进入:数脉科技官方网站地址数脉科技是一家成...
有在六月份的时候也有分享过新网域名注册商发布的域名促销活动(这里)。这不在九月份发布秋季域名促销活动,有提供年付16元的.COM域名,同时还有5个+的特殊后缀的域名是免费的。对于新网服务商是曾经非常老牌的域名注册商,早年也是有在他们家注册域名的。我们可以看到,如果有针对新用户的可以领到16元的.COM域名。包括还有首年免费的.XYZ、.SHOP、Space等等后缀的域名。除了.COM域名之外的其他...
硅云怎么样?硅云是一家专业的云服务商,硅云的主营产品包括域名和服务器,其中香港云服务器、香港云虚拟主机是非常受欢迎的产品。硅云香港可用区接入了中国电信CN2 GIA、中国联通直连、中国移动直连、HGC、NTT、COGENT、PCCW在内的数十家优质的全球顶级运营商,是为数不多的多线香港云服务商之一。目前,硅云香港云服务器,CN2+BGP线路,1核1G香港云主机仅188元/年起,域名无需备案,支持个...