Linux基础进程管理
一、进程
了解如进程的:
• PID,PPID
• 当前的进程状态
• 内存的分配情况
• CPU和已花费的实际时间
• 用户UID,他决定进程的特权
(一)、静态查看进程
# ps axu | less
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.6 129128 6468 ? Ss 19:09 0:02 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
root 2 0.0 0.0 0 0 ? S 19:09 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 19:09 0:00 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S< 19:09 0:00 [kworker/0:0H]
root 6 0.0 0.0 0 0 ? S 19:09 0:00 [kworker/u2:0]
root 7 0.0 0.0 0 0 ? S 19:09 0:00 [migration/0]
USER: 运行进程的用户
PID: 进程ID
%CPU: CPU占用率
%MEM: 内存占用率
VSZ: 占用虚拟内存
RSS: 占用实际内存 驻留内存
TTY: 进程运行的终端
STAT: 进程状态 man ps (/STATE)
R 运行
S 可中断睡眠 Sleep
D 不可中断睡眠 (usually IO)
T 停止的进程
Z 僵尸进程
X 死掉的进程
Ss s进程的领导者,父进程
S< <优先级较高的进程
SN N优先级较低的进程
R+ +表示是前台的进程组
Sl 以线程的方式运行
START: 进程的启动时间
TIME: 进程占用CPU的总时间
COMMAND: 进程文件,进程名
示列1:
# ps aux --sort %cpu |less //排序打印
# ps aux --sort -%cpu | less //倒序打印
# ps aux --sort rss | less
# ps aux --sort -rss | less
示列2:
# ps auxf |grep vsftp //指定查找某写指定的程序
root 1143 0.0 0.0 53212 92 ? Ss 07:57 0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root 14497 0.0 0.0 112676 980 pts/4 S+ 21:33 0:00 | \_ grep --color=auto vsftp
示列3:
# ps axo user,pid,ppid,%mem,command | grep vsftp //自定义显示字段及程序服务
root 1143 1 0.0 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root 14668 11675 0.0 grep --color=auto vsftp
# ps axo user,pid,ppid,%mem,command //自定义显示字段
USER PID PPID %MEM COMMAND
root 1 0 0.0 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
root 2 0 0.0 [kthreadd]
root 3 2 0.0 [ksoftirqd/0]
root 5 2 0.0 [kworker/0:0H]
root 7 2 0.0 [migration/0]
root 8 2 0.0 [rcu_bh]
root 9 2 0.0 [rcu_sched]
示列4:
查看指定的进程PID
# cat /run/sshd.pid //指定进程的PID,
1150
# ps aux | grep sshd
root 1150 0.0 0.0 105996 1276 ? Ss 07:57 0:00 /usr/sbin/sshd -D
root 11665 0.0 0.0 147864 3880 ? Ss 19:26 0:00 sshd: root@pts/4
root 13025 0.5 0.2 151592 8988 ? Ss 20:33 0:24 sshd: root@pts/3
root 14749 0.0 0.0 112680 984 pts/4 S+ 21:50 0:00 grep --color=auto sshd
查看进程树:
# pstree
systemd─┬─ModemManager───2*[{ModemManager}]
├─2*[abrt-watch-log]
├─abrtd
├─accounts-daemon───2*[{accounts-daemon}]
├─alsactl
├─at-spi-bus-laun─┬─dbus-daemon
│ └─3*[{at-spi-bus-laun}]
├─at-spi2-registr───2*[{at-spi2-registr}]
├─atd
├─auditd─┬─audispd─┬─sedispatch
│ │ └─{audispd}
│ └─{auditd}
(二)、动态查看
# top
# top -d 1
# top -d 1 -p 10126 //查看指定进程的动态信息
# top -d 1 -p 10126,1
# top -d 1 -u apache //查看指定用户的进程
# top -d 1 -b -n 2 > top.txt //将2次top信息写入到文件
第一部分:系统整体统计信息
top - 14:15:04 up 47 min, 2 users, load average: 0.25, 0.18, 0.12
Tasks: 235 total, 1 running, 234 sleeping, 0 stopped, 0 zombie
Cpu(s): 8.9%us, 1.0%sy, 0.0%ni, 90.1%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 7944064k total, 746164k used, 7197900k free, 35724k buffers
Swap: 1048568k total, 0k used, 1048568k free, 261492k cached
load average: 0.86, 0.56, 0.78 CPU最近 1分钟,5分钟,15分钟平均负载
第二部分:进程信息
命令
h|?帮助
M 按内存的使用排序
P 按CPU使用排序
N 以PID的大小排序
R 对排序进行反转
f 自定义显示字段
1 显示所有CPU的负载
< 向前
> 向后
z 彩色
W 保存top环境设置 ~/.toprc
二、信号控制
(一)、发送信号
# kill -l //列出所有支持的信号
编号 信号名
1) SIGHUP 重新加载配置 PID不变
2) SIGINT 键盘中断^C
3) SIGQUIT 键盘退出
9) SIGKILL 强制终止
15) SIGTERM 终止(正常结束),缺省信号
18) SIGCONT 继续
19) SIGSTOP 停止
20)SIGTSTP 暂停^Z
您的资助是我最大的动力!
金额随意,欢迎来赏!