linux下进程管理之常用解释
1.init: 进程号为1,为所有进程的主进程
2.ps命令:查看进程状态命令,静态进程状态
a: 所有与终端有关的进程
u: 按用户名显示的详细信息
x: 所有与终端无关的进程
-e:所有进程
-l:长格式显示
-f:完整输出
-o:自定义格式输出
常用命令:
ps aux 显示所有进程并详细显示
ps aux | grep httpd 筛选出httpd进程相关信息
ps -elf 显示所有进程并详细显示
ps -ef 显示所有进程并详细显示
ps -axo user,pid,comm,ni
[root@localhost sh]# ps -axo user,pid,comm,ni
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ
USER PID COMMAND NI
root 1 init 0
root 2 migration/0 -
root 3 ksoftirqd/0 19
root 4 events/0 -5
进程状态:
D:不可中断的睡眠 Uninterruptible sleep
R:运行或就绪 Running
S:可中断的睡眠 Interruptible sleep
T:停止 stop
Z:僵尸 zombie
<:高优先级进程
N: 低优先级进程
+:前台进程组中的进程
l: 多线程进程
s: 会话进程首进程
2.pstree: 显示当前系统上的进程树
3.pgrep:基于用户名等查找进程
pgrep -u root
4.pidof: 根据程序名称,查找其相关进程的ID号;
[root@localhost sh]# pidof httpd
1931 1850 1849 1848 1847 1846 1845
5.top命令:类型于windows任务管理器,默认5秒刷新按CPU使用大小排序,实时进程状态
M: 根据驻留内存大小进行排序
P:根据CPU使用百分比进行排序
T: 根据累计时间进行排序
l: 是否显示平均负载和启动时间
t: 是否显示进程和CPU状态相关信息
m: 是否显示内存相关信息
c: 是否显示完整的命令行信息
q: 退出top
k: 终止某个进程
-d: 指刷新时长,单位是秒
top -d 1
-b: 全部翻屏打印
top -d 1 -b
-n #:翻几屏打印
top -d 1 -b -n 5
6.进程间通信(IPC: Inter Process Communication)
格式:Kill PID 控制或杀掉指定PID进程号
killall COMMANND 控制或杀掉一类服务进程,一般指定进程名称,而不是PID进程号
重要的信号:kill -l 显示所有信号
1:SIGHUP: 让一个进程不用重启,就可以重读其配置文件,并让新的配置信息生效;
2: SIGINT:Ctrl+c: 中断一个进程
9: SIGKILL:直接杀死指定进程,不管其子进程死活
15: SIGTERM:终止一个进程,但会先通知将子进程杀死;为默认信号,
指定一个信号格式:
信号号码:kill -1
信号名称:kill -SIGKILL
信号名称简写:kill -KILL
6.1.直接干掉12321进程
kill -9 12321
6.2.直接干掉httpd所有进程,
killall -9 httpd
注意:因httpd服务包含很多进程,如果用kill命令,要杀很多次,而killall一次性搞定
7.调整nice值:
7.1.linux系统优先级有0-139种优先级,其中0-99属内核调整;100-139属用户控制
7.2.数字越小,优先级越高
7.3.nice调整优先级值范围 -20至19,进程默认nice值为0,
调整已经启动的进程的nice值:
renice NI PID
在启动时指定nice值:
nice -n NI COMMAND
8.前台作业:占据了命令提示符
后台作业:启动之后,释放命令提示符,后续的操作在后台完成
前台至后台切换:
Ctrl+z: 把正在前台的作业送往后台
COMMAND &:让命令在后台执行
bg: 让后台的停止作业继续运行
格式:bg [[%]JOBID]
jobs: 查看后台的所有作业;[作业号,不同于进程号]
+:将是默认操作的作业
-:将是第二个操作的作业
fg: 将后台的作业调回前台
格式:fg [[%]JOBID]
kill %JOBID: 终止某作业,此%不能缺省,否则与进程号冲突
9.vmstat:系统状态查看命令
vmstat 1 每秒刷新一次
vmstat 1 5 每秒刷新一次且只显示5行
10.uptime: 显示系统运行久及负载