Uninterruptible sleep: 不可中断的睡眠
Interruptible sleep:可中断睡眠
COW: Copy On Write, 写时复制
100-139:用户可控制
0-99:内核调整的
O:
O(1)
O(n)
O(logn)
O(n^2)
O(2^n)
init: 进程号为1
优先级越高:
1.获得更多的cpu运行时间
2.更优先获得运行的机会
100-139:
nice值:优雅的,有好的
-20~19
100~139
普通用户只能调大自己的进程的NIce值:
PID:Process ID
ls /proc 每一个目录对应一个进程
init: 进程号为1
ps: Process State
SysV风格:-
BSD风格:
a:所有与终端有关的进程
u:
x:所有与终端无关的进程
进程的分类:
跟终端相关的进程
跟终端无关的进程
进程状态:
D:不可中断的睡眠
R:运行或就绪
S:可中断的睡眠
T:停止
Z:僵死
<:高优先级进程
N: 低优先级进程
+:前台进程组中的进程
l:多线程进程
s:会话进程首进程
ps
-elF:e表示所有进程
-ef
ps -o PROPERTY1,PROPERTY2
ps -o pid,comm,ni
ps-o pid,comm,ni
ps-axo pid,comm,ni
ps aux | grep “bash”
pstree: 显示当前系统上的进程树
pgrep:以grep的风格显示进程
pgrep bash找所有跟bash相关的进程
pgrep -u root bash
pidof: 根据程序名称,查找其相关进程的ID号;
pidof init
pidof sshd
pidof crond
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:旗语
kill -l 显示所有进程信号
重要的信号:
1:SIGHUP: 让一个进程不用重启,就可以重读其配置文件,并让新的配置信息生效;
2: SIGINT:Ctrl+c: 中断一个进程
9: SIGKILL:杀死一个进程
15: SIGTERM:终止一个进程, 默认信号
指定一个信号:
信号号码:kill -1
信号名称:kill-SIGKILL
信号名称简写:kill-KILL
ps aux | grep top
kill 13381 杀死top进程
killall httpd
kill PID
killall COMMAND
调整nice值:
调整已经启动的进程的nice值:
renice NI PID
ps axo pid,ni,comm
renice 3 3704
renice -3 3704
ps axo pid,ni,comm
在启动时指定nice值:
nice -n NI COMMAND
nice -n 3 useradd hbase
前台作业:占据了命令提示符
后台作业:启动之后,释放命令提示符,后续的操作在后台完成
tar -jcf /tmp/tec.tar.bz2 /etc/* &
ps aux | grep tar
前台-->后台:
Ctrl+z:把正在前台的作业送往后台
COMMAND &:让命令在后台执行
bg:让后台的停止作业继续运行
jobs:查看后台的所有作业
作业号,不同于进程号
+:命令将默认操作的作业
-::命令将第二个默认操作的作业
fg:将后台的作业调回前台
fg[%JOBID]
kill %JOBID: 终止某作业
vmstat:系统状态查看命令
vmstat #
vmstat 1 每隔一秒检查一次
vmstat 1 5 每隔一秒显示一次,只显示5次
uptime
cat /proc/meminfo
进程管理常用命令
https://www.cnblogs.com/jasperhsu/p/5080289.html