进程及作业管理
Uninterruptible sleep: 不可中断的睡眠
Interruptible sleep:可中断睡眠
kernel:
init:
COW: Copy On Write, 写时复制
100-139:用户可控制
0-99:内核调整的
O:
O(1)
O(n)
O(logn)
O(n^2)
O(2^n)
init: 进程号为1
ps: Process State
SysV风格:-
BSD风格:
a: 所有与终端有关的进程
u:
x: 所有与终端无关的进程
进程的分类:
跟终端相关的进程
跟终端无关的进程
进程状态:
D:不可中断的睡眠
R:运行或就绪
S:可中断的睡眠
T:停止
Z:僵死
<:高优先级进程
N: 低优先级进程
+:前台进程组中的进程
l: 多线程进程
s: 会话进程首进程
ps
-elF
-ef
-eF
ps -o PROPERTY1,PROPERTY2
ps -o pid,comm,ni
pstree: 显示当前系统上的进程树
pgrep:
pidof: 根据程序名称,查找其相关进程的ID号;
top:
vmstat
free
kill
pkill
bg
fg
<:高优先级的进程
N:低优先级的进程
l: 多线程进程
+:前台进程组中的进程
s: 会话进程的领导者
top:
M: 根据驻留内存大小进行排序
P:根据CPU使用百分比进行排序
T: 根据累计时间进行排序
l: 是否显示平均负载和启动时间
t: 是否显示进程和CPU状态相关信息
m: 是否显示内存相关信息
c: 是否显示完整的命令行信息
q: 退出top
k: 终止某个进程
top
-d: 指定延迟时长,单位是秒
-b: 批模式
-n #:在批模式下,共显示多少批
进程间通信(IPC: Inter Process Communication)
共享内存
信号: Signal
Semaphore
重要的信号:
1:SIGHUP: 让一个进程不用重启,就可以重读其配置文件,并让新的配置信息生效;
2: SIGINT:Ctrl+c: 中断一个进程
9: SIGKILL:杀死一个进程
15: SIGTERM:终止一个进程, 默认信号
指定一个信号:
信号号码:kill -1
信号名称:kill -SIGKILL
信号名称简写:kill -KILL
kill PID
killall COMMAND
调整nice值:
调整已经启动的进程的nice值:
renice NI PID
在启动时指定nice值:
nice -n NI COMMAND
前台作业:占据了命令提示符
后台作业:启动之后,释放命令提示符,后续的操作在后台完成
前台-->后台:
Ctrl+z: 把正在前台的作业送往后台
COMMAND &:让命令在后台执行
bg: 让后台的停止作业继续运行
bg [[%]JOBID]
jobs: 查看后台的所有作业
作业号,不同于进程号
+:命令将默认操作的作业
-:命令将第二个默认操作的作业
fg: 将后台的作业调回前台
fg [[%]JOBID]
kill %JOBID: 终止某作业
vmstat:系统状态查看命令
uptime: 显示top命令的第一行
/proc/meminfo 查看内存信息