Linux进程管理
进程管理:
/proc目录下的数字目录是进程号
cd /proc/1---->cat cmdline(发起进程的命令,init是1号进程,所有进程都是init的子进程)
命令:
ps:Process State
SysV风格
a:所有跟终端有关的进程
u:发起进程的用户
x:所有跟终端无关的进程
如:ps a;ps ax;ps aux;
进程状态:
D:不可中断的进程
R:运行或就绪
S:可中断的睡眠
T:停止
Z:僵死
<:高优先级进程
N:低优先级进程
+:前台进程组中的进程
l:多线程
s:多会话进程首进程
BSD风格
-e :所有进程(显示)
-l:长格式显示信息
-F:详细信息
-f:可读格式(比F信息少一点)
组合使用:-ef,-elf
-o:指定字段
如:ps -o PROPERTY1,PROPERTY2,...
pstree:显示进程树
pgrep:根据模式显示进程
如:pgrep -u root sshd
pidof:根据进程名查找进程id号
pidof init
pidof sshd
top:监控系统进程(不停刷新5s)
M:根据驻留内存大小进行排序
P:根据CPU使用百分比进行排序(默认cup排序)
T:根据累计时间进行排序
l:是否显示平均负载和启动时间
t:是否显示进行和CPU状态相关的信息
m:是否显示内存相关的信息
c:是否显示完整的命令行信息
q:退出top
k:终止某个进程
-d:修改刷新时长
-b:批模式(翻屏刷新)
-n:指定刷多少屏(-n 3:刷三屏)
进程间通信(IPC:Inter Process Communication)
共享内存
信号:Signal
Semaphore
kill -l 查看信号
重要的信号:
1.SIGHUP:让一个进程不用重启,就可以重读其配置文件,并让新的配置信息生效;
2.SIGINT:Ctrl+c,中断一个进程
9.SIGKILL:杀死一个进程(强制杀死进程)
15.SIGTERM:终止一个进程(通知其他进程或任务,要终止进程)
指定一个信号:
信号号码:kill -NUMBER
信号名称:kill -SIGKILL
信号名称简写:kill -KILL
kill:
kill 进程号(默认15信号)
killall COMMAND(进程名) 杀死所有进程名的进程
renice:调整nice值
renice NICE PID
renice -n NICE COMMAND
前台作业:占据了命令提示符
后台作业:启动之后,释放命令提示符,后续的操作在后台完成
前台-->后台
Ctrl+z:把正在前台的作业送往后台
COMMAND &:让命令在后台执行
jobs:查看后台的所有作业
作业号,不同于进程号
+:命令将默认操作的作业
-:命令将第二默认操作的作业
bg:让后台的停止作业继续运行
bg [%JOBID](省略默认找带+的job)
fg:将后台的作业调回前台
fg [%JOBID]
注意:%表示作业,bg,fg操作作业的,可以省略%
kill %JOBID:终止某作业(kill是杀死进程的,所以必须有%)
vmstat:系统状态查看命令
vmstat NUMBER:个NUMBER秒刷新一次
vmstat NUMBER1 NUMBER2:隔NUMBER1秒刷新一次,一共刷新NUMBER2次
uptime:查看系统进程信息,跟top第一行信息一样
/proc/meminfo:存储内存信息的文件
进程的分类:
跟终端相关的进程:命令行输入的进程
跟终端无关的进程:系统启动的进程
netstat命令:
-r:显示路由表
-n:以数字方式显示
-t:建立tcp连接
-u:显示udp连接
-l:显示监听状态的连接
-p:显示监听的套接字的进程的进程与及进程名

浙公网安备 33010602011771号