将进程调度到后台运行,shutdown命令安全地将系统

2019-11-05 06:05 来源:未知

信号

1.shutdown

fly@UBT:~/$ kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3
38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX

shutdown命令安全地将系统关机。 有些用户会使用直接断掉电源的方式来关闭Linux,这是十分危险的。因为Linux与windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失﹐使系统处于不稳定的状态﹐甚至在有的系统中会损坏硬件设备。而在系统关机前使用shutdown命令﹐系统管理员会通知所有登录的用户系统将要关闭。并且login指令会被冻结﹐即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的﹐还可能重启。这是由所有进程〔process〕都会收到系统所送达的信号〔signal决定的。这让像vi之类的程序有时间储存目前正在编辑的文档﹐而像处理邮件〔mail〕和新闻〔news〕的程序则可以正常地离开等等。

进程通讯
fly@UBT:~/$ ipcs

shutdown执行它的工作是送信号〔signal〕给init程序﹐要求它改变runlevel。Runlevel 0被用来停机〔halt〕﹐runlevel 6是用来重新激活〔reboot〕系统﹐而runlevel 1则是被用来让系统进入管理工作可以进行的状态﹔这是预设的﹐假定没有-h也没有-r参数给shutdown。要想了解在停机〔halt〕或者重新开机〔reboot〕过程中做了哪些动作﹐你可以在这个文件/etc/inittab里看到这些runlevels相关的资料。

------ Message Queues --------
key msqid owner perms used-bytes messages

shutdown 参数说明:

------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 0 root 644 80 2
0x00000000 32769 root 644 16384 2
0x00000000 65538 root 644 280 2

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

------ Semaphore Arrays --------
key semid owner perms nsems
0x000000a7 0 root 600 1

[-r] 重启计算器。

 

[-k] 并不真正关机﹐只是送警告信号给每位登录者〔login〕。

前台与后台

[-h] 关机后关闭电源〔halt〕。

bg:将进程调度到后台运行;

[-n] 不用init﹐而是自己来关机。不鼓励使用这个选项﹐而且该选项所产生的后果往往不总是你所预期得到的。

fly@Flyme:~$ cat
^Z
[1]+ Stopped cat
fly@Flyme:~$ bg 1
[1]+ cat &

[-c] cancel current process取消目前正在执行的关机程序。所以这个选项当然没有时间参数﹐但是可以输入一个用来解释的讯息﹐而这信息将会送到每位使用者。

 

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

fg:将命令调到前台执行;

[-F] 在重启计算器〔reboot〕时强迫fsck。

 

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

jobs:正在后台执行的任务;

shutdown之例子学习

 

指定现在立即关机: # shutdown -h now

系统的关闭与切换;

指定5分钟后关机,同时送出警告信息给登入用户:# shutdown +5 “System will shutdown after 5 minutes”

halt:关闭系统;

2.halt----最简单的关机命令

用法:halt [参数]

其实halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。

-d:不要在wtmp中记录;

参数说明:

-f:不论目前的runlevel为何,不调用shutdown即强制关闭系统;

[永利平台娱乐,-n] 防止sync系统调用﹐它用在用fsck修补根分区之后﹐以阻止内核用老版本的超级块〔superblock〕覆盖修补过的超级块。

-i:在halt之前,关闭全部的网络界面;

[-w] 并不是真正的重启或关机﹐只是写wtmp〔/var/log/wtmp〕纪录。

-n:halt前,不用先执行sync;

[-d] 不写wtmp纪录〔已包含在选项[-n]中〕。

-p:halt之后,执行poweroff;

[-f] 没有调用shutdown而强制关机或重启。

-w:仅在wtmp中记录,而不实际结束系统。

[-i] 关机〔或重启〕前﹐关掉所有的网络接口。

 

[-p] 该选项为缺省选项。就是关机时调用poweroff。  

init:起始的进程控制;

halt之例子

用法:init [参数] [数字]

halt -p 关闭系统后关闭电源。
halt -d 关闭系统,但不留下纪录。

sudo init 0 :关机;

3.reboot

sudo init 6   :重新开机;

reboot的工作过程差不多跟halt一样﹐不过它是引发主机重启﹐而halt是关机。它的参数与halt相差不多。 //和halt的区别,一个是关机,一个是重启;

TAG标签:
版权声明:本文由永利平台娱乐发布于永利平台娱乐,转载请注明出处:将进程调度到后台运行,shutdown命令安全地将系统