1.ps命令
分为BSD和Linux风格
ps命令是最基本同时也是非常强大的进程查看命令。
ps是显示瞬间进程的状态,并不动态连续;如果想对进程进行实时监控应该用top命令。
首先要了解linux中的五种状态。
1.可运行(R):正在运行或在运行队列中等待
2.可中断的睡眠(S):休眠中,受阻,在等待某个条件的形成或接收到信号而被挂起
3.不可中断的睡眠(D):(通常是IO操作)收到信号不唤醒和不可运行,进程必须等待直到有中断发生
4.僵尸(Z):进程已终止,但进程描述符存在,直到父进程调用wait4()后释放
5.停止(T)(进程收到SIGSTOP,SIGSTP,SIGTIN,SIGOUT信号停止运行)
ps命令
VSZ:进程所使用的虚存的大小(Virtual Size)
RSS:进程使用的驻留集大小或者是实际内存的大小,Kbytes字节。
TIME:进程占用CPU的运算时间
START: 进程启动时间和日期
NI : 优先级(Nice)
PRI : 进程优先级编号(Priority)
WCHAN: 进程正在睡眠的内核函数名称;该函数的名称是从/root/system.map文件中获得的。
FLAGS : 与进程相关的数字标识
系统最终生效的优先级是PRI加NI ,PRI谁都不能改。包括root
只有root可以将nice改为负,普通用户只能改成0以上
额外补充:
R 运行 Runnable (on run queue) 正在运行或在运行队列中等待。
S 睡眠 Sleeping 休眠中, 受阻, 在等待某个条件的形成或接受到信号。
I 空闲
Z 僵死 Zombie 进程已终止, 但进程描述符存在
D 不可中断 收到信号不唤醒和不可运行, 进程必须等待直到有中断发生。
T 终止 Terminate 进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行。
P 等待交换页
W 无驻留页 没有足够的记忆体分页可分配。
X 死掉的进程
< 高优先级进程
N 低优先级进程
L 内存锁页
s 进程的领导者(在它之下有子进程);
l 多进程的
+ 位于前台的进程组
1)ps a 所有与终端有关的进程。
2)ps u 以用户为主的格式来显示程序状况。
3)ps x 所有与终端无关的进程
*)ps e 列出程序时,显示每个程序所使用的环境变量。
4)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
5)ps -t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。
6)ps -e 显示全部进程。
7)ps -H 显示树状结构,表示程序间的相互关系。
8)ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
9)ps s 采用程序信号的格式显示程序状况。
10)ps S 列出程序时,包括已中断的子程序资料。
pgrep -u root bash
看哪个用户执行什么命令
pidof sshd
找某个进程查PID号
top 动态监视进程
M:根据驻留内存大小排序
P:根据CPU
T:根据累计时间
l:是否显示平均负载和启动时间
t:是否显示内存相关进程和CPU
m:是否显示内存相关信息
q:推出top
k:终止某个进程
top -d 2
指定刷新延迟时长
top -n
指定批模式下显示几批
top -b
指定批模式
[root@localhost ~]# ps ax -o %cpu,%mem,user,group,comm,nice
pstree 显示进程树。
-p 看每个进程的PID
-u 看每个进程的系统用户
进程优先级
-20 ~ 19
优先级查看
ps ax -o pid,nice,comm
指定某个优先级
nice -n 优先级数字 进程名
nice -n -5 vim
指定已经开启的进程的优先级
renice -n 优先级数字 进程pid
renice -n -5 1806
如果将bash的优先级改变,那么在bash下产生的进程都会继承父进程的优先级
Ctrl+Z 打入后台
jobs 查看被打入后台的进程
fg num 将后台的进程调回前台
bg num 把后台暂停的进程运行
comm & 让命令直接在后台运行
jobs -l 可以查看被打入后台的进程的PID
+表示最后一个进入后台的进程
-表示倒数第二
进程间通信(IPC)
1.共享内存
2.信号
3.Semphore
killall name 按照名字管理进程
pkill -u stenent --信号 管理student的所有进程
信号
9 -- 强行关闭单一的进程
15 -- 正常关闭,并关闭其子进程
3 -- 释放鼠标的内存
2 -- 中断一个进程
1 -- (平滑重启)重新加载配置,并不重启
18 -- 运行暂停的进程
19 -- 暂停进程
20 -- 进程打入后台
kill 默认发送15信号!!!
kill -num %工作号
vmstat系统状态查看命令
uptime
/proc/meminfo 内存信息
/proc/cpuinfo CPU信息
用户登录审记
w 查看使用系统的当前用户有哪些
-f 查看从哪登陆
last 查看用户登陆成功历史
lastb 查看用户失败登陆历史