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);
}
SugarHosts糖果主机商我们较早的站长们肯定是熟悉的,早年是提供虚拟主机起家的,如今一直还在提供虚拟主机,后来也有增加云服务器、独立服务器等。数据中心涵盖美国、德国、香港等。我们要知道大部分的海外主机商都只提供Linux系统云服务器。今天,糖果主机有新增SugarHosts夏季六折的优惠,以及新品Windows云服务器/云VPS上线。SugarHosts Windows系统云服务器有区分限制...
很久没有分享PhotonVPS的消息,最近看到商家VPS主机套餐有一些更新所以分享下。这是一家成立于2008年的国外VPS服务商,Psychz机房旗下的站点,主要提供VPS和独立服务器等,数据中心包括美国洛杉矶、达拉斯、芝加哥、阿什本等。目前,商家针对Cloud VPS提供8折优惠码,优惠后最低2G内存套餐每月4美元起。下面列出几款主机配置信息。CPU:1core内存:2GB硬盘:30GB NVm...
Virtono最近推出了夏季促销活动,为月付、季付、半年付等提供9折优惠码,年付已直接5折,而且下单后在LET回复订单号还能获得双倍内存,不限制付款周期。这是一家成立于2014年的国外VPS主机商,提供VPS和服务器租用等产品,商家支持PayPal、信用卡、支付宝等国内外付款方式,可选数据中心包括罗马尼亚、美国洛杉矶、达拉斯、迈阿密、英国和德国等。下面列出几款VPS主机配置信息,请留意,下列配置中...