linux进程管理
一.pstree查看进程
pstree查看进程
常用命令选项
-a:显示完整的命令行
-p:列出对应进程的PID编号
[root@www ~]# pstree -p zhangsan
bash(39290)───su(51704)───bash(51726)───pstree(73981)
[root@www ~]# pstree -a zhangsan
bash
└─su - root
└─bash
└─pstree -a zhangsan
[root@www ~]# pstree -ap zhangsan
bash,39290
└─su,51704 - root
└─bash,51726
└─pstree,74145 -ap zhangsan
[root@www ~]#
二、ps查看进程
ps — Processes Snapshot
格式:ps [选项]...
常用命令选项
aux:显示当前终端所有进程(a)、当前用户在所有终端下的进程(x)、以用户格式输出(u)
-elf:显示系统内所有进程(-e)、以长格式输出(-l)信息、包括最完整的进程信息(-f)
ps aux 操作
列出正在运行的所有进程,显示进程信息非常详细
用户 进程ID %CPU %内存 虚拟内存 固定内存 终端 状态 起始时间 CPU时间 程序指令
ps -elf 操作
列出正在运行的所有进程,显示进程父进程信息
PPID为父进程的PID
[root@www ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.6 127984 6580 ? Ss 00:37 0:01 /usr/lib/systemd/systemd --switched-root --system --deseriali
root 2 0.0 0.0 0 0 ? S 00:37 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 00:37 0:00 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S< 00:37 0:00 [kworker/0:0H]
root 6 0.0 0.0 0 0 ? S 00:37 0:02 [kworker/u256:0]
root 7 0.0 0.0 0 0 ? S 00:37 0:00 [migration/0]
root 8 0.0 0.0 0 0 ? S 00:37 0:00 [rcu_bh]
root 9 0.0 0.0 0 0 ? R 00:37 0:01 [rcu_sched]
[root@www ~]# ps -elf
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
4 S root 1 0 0 80 0 - 31996 ep_pol 00:37 ? 00:00:01 /usr/lib/systemd/systemd --switched-root --system
1 S root 2 0 0 80 0 - 0 kthrea 00:37 ? 00:00:00 [kthreadd]
1 S root 3 2 0 80 0 - 0 smpboo 00:37 ? 00:00:00 [ksoftirqd/0]
1 S root 5 2 0 60 -20 - 0 worker 00:37 ? 00:00:00 [kworker/0:0H]
1 S root 6 2 0 80 0 - 0 worker 00:37 ? 00:00:02 [kworker/u256:0]
1 S root 7 2 0 -40 - - 0 smpboo 00:37 ? 00:00:00 [migration/0]
1 S root 8 2 0 80 0 - 0 rcu_gp 00:37 ? 00:00:00 [rcu_bh]
三、top 交互式工具
格式:top [-d 刷新秒数] [-U 用户名]
按大写P进行CPU排序
按大写M进行内存排序
pgrep — Process Grep
用途:pgrep [选项]... 查询条件
常用命令选项
-l:输出进程名,而不仅仅是 PID
-U:检索指定用户的进程
-x:精确匹配完整的进程名
注意:U必须放到最后
四、控制进程(进程前后台的调度)
进程的前后台调度
&符号:正在运行的状态放入后台
Ctrl + z 组合键: 挂起当前进程(暂停并转入后台)
• jobs 命令 查看后台任务列表
• fg 命令 将后台任务恢复到前台运行
• bg 命令 激活后台被挂起的任务
[root@localhost ~]# yum -y install xorg-x11-apps
[root@localhost ~]# xeyes
^Z #按Ctrl+z 暂停放入后台,适用于程序已经在运行,我们可以按ctrl+z来停止
[1]+ 已停止 xeyes
[root@localhost ~]# jobs #查看后台进程信息
[root@localhost ~]# bg 1 #让后台编号为1 的进程继续运行,就是刚才ctrl+z暂停了,此时我们bg可以再启动
[root@localhost ~]# jobs #查看后台进程信息
[root@localhost ~]# fg 1 #让后台编号为1 的进程恢复到前台
xeyes
^C #按Ctrl+c 结束
[root@localhost ~]#
五、杀死进程
杀死进程的不同方法
Ctrl+c 组合键,中断当前命令程序
kill [-9] PID... 、kill [-9] %后台任务编号
killall [-9] 进程名...
pkill [-9] 查找条件
[root@localhost ~]# xeyes & #&符号为放入后台运行
[root@localhost ~]# xeyes &
[root@localhost ~]# xeyes &
[root@localhost ~]# jobs -l
[1]+ 8999 运行中 xeyes &
[root@localhost ~]# kill -9 8999
[1]+ 已杀死 xeyes
[root@localhost ~]# jobs -l
[root@localhost ~]# killall xeyes
杀死一个用户开启的所有进程(踢出一个用户)
[root@localhost ~]# killall -9 -u zhangsan