1.jobs [-lrs]:观察目前的背景中的工作状态,参数,
-l:除了列出job number与指令串之外,同时列出PID的号码
-r:进列出正在背景run的工作
-s:仅列出正在背景中暂停的工作
指令执行后的+号表示最近最后被放到背景的工作号码,-代表最后第二个放置到背景中的工作号码。而超过第三个以后的工作就不再有+/-号了。
2.fg %jobnumber:将背景中的工作拿到前景来处理,参数:
1)%jobnumber为工作号码(数字),这个%是可有可无的,如果不加任何参数,则表示将+(最近最后)的那个背景工作拿到前景中来执行,fg -代表将-那个工作号码拿出来到前景中取运行。
3.bg:让工作在背景中的指令由暂停状态运行状态(ctr+z可使程序在背景中暂停),参数同fg。
4.kill -signal %jobnumber;kill -l:管理背景中的工作,参数,
1)-l:列出目前kill能够使用的讯号
2)signal:代表给予后面接的那个工作什么样的指示,用man 7 signal可知:
-1:重新读取一次参数的配置文件
-2:代表由键盘输入ctr+c同样的动作
-9:立刻强制删除一个工作
-15:以正常的程序方式终止一项工作
5.背景是指终端机模式下,可以避免ctr+c中断的一个情景,并不是放到系统的背景去,所以工作管理的背景依旧与终端机有关,在这样的情况下,如果是以远程联机的方式连接的linux主机,并且将工作以&方式放到背景中处理,工作尚未结束的情况下脱机,该工作不会继续进行了,就会到此终止掉。
6.nohup [指令与参数]:在终端机前景中工作;nohup [指令与参数] &在终端机背景中去工作。需要注意的是nohup并不支持bash的内建指令,因此你的指令必须是外部指令才行。
7.ps :将某个时间点的程序运作情况撷取下来,几个常用的组合,
1)ps aux:观察所有的程序数据
2)ps -IA:观察所有的系统数据
3)ps axjf:连同分程序树状态
4)ps -l:只查阅自己bash的程序
各个分参数:
1)-A:所有的process均显示出来,与-e具有同样的效用
2)-a:不与terminal有关的所有process
3)-u:有效使用者相关的process
4)x:通常与a一起用,可以列出较完整的信息
输出格式规划:
5)l:较长,较详细的将该PID的信息列出
6)j:工作格式
7)-f:做一个更为完整的输出
ps -l:中各项参数的意义:
F:代表这个程序的标识(flag),常见的有:
4:表示这个程序的权限为root
1:表示此子程序仅进行fork而没有实际执行exec
S:代表这个程序的状态,主要的状态有:
R:该程序正在运作中
S:改程序目前处于睡眠状态,但可以被唤醒
D:不可被唤醒的睡眠状态,通常这只程序在等待IO的情况
T:停止状态,可能是在工作控制(背景暂停)或除错状态
Z:僵尸状态,程序已经终止但无法被移除至内存外
UID/PID/PPID:代表此程序被该UID所拥有的/程序的PID号码/此程序的PID号码
C:代表CPU使用率,单位为百分比
PRI/NI:priority/nice的缩写,代表此程序被CPU所执行的优先级,数值越小代表该程序越快被CPU执行
ADDR/SZ/WCHAN:都与内存由关,ADDR是kernel function,指出该程序在内存的哪个部分,如果是running的程序,一般会显示-,/SZ代表此程序的用掉了多少内存/WCCHAN表示目前程序是否在运行中
,同样若为-表示运作中
TTY:登入者的终端机位置,若为远程登录则使用动态终端接口(pts/n)
TIME:使用掉的CPU时间,是此程序实际花掉的cpu时间,而不是系统时间
CMD:指令
ps aux中各项参数的含义,
USER:该process属于哪个使用者账号
PID:进程ID
%CPU:CPU利用率
%MEM:占用内存的百分比
VSZ:该process使用掉的虚拟内存(Kbytes)
RSS:该process占用的固定内存(Kbytes)
TTY:该程序跑的终端设备,tty1-6是本机的,ps/0等,表示由网络连接进主机的程序
STAT:该程序目前的状态
START:该process被触发启动的时间
TIME:该process实际使用的CPU时间
COMMAND:该程序实际使用的指令
8.僵尸程序:通常造成僵尸程序的成因是因为该程序应该已经执行完毕,或者是因故应该要终止了,但是该程序的父进程却无法完整的讲该程序结束掉,而造成那个程序一直在内存中。这样的程序在cmd后面还会接上<defunct>表示该程序是僵尸程序