Linux学习5----ps、pstree、kill
ps命令
查询进程信息
基本用法
1.ps
PID TTY TIME CMD
16482 pts/0 00:00:00 bash
24030 pts/0 00:00:00 ps
PID 进程id
CMD 正在执行的系统命令行
TTY 进程所属的控制台
TIME 总时间
2.ps -ef # 显示Linux所有进程的详细信息
UID PID PPID C STIME TTY TIME CMD
root 1 0 8 13:47 ? 00:43:46 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root 2 0 0 13:47 ? 00:00:00 [kthreadd]
root 4 2 0 13:47 ? 00:00:00 [kworker/0:0H]
UID: 哪个用户执行的
PID: 进程id
PPID:父进程id
C:cpu使用资源百分比
STIME:进程执行的时间
TTY:该进程在哪个终端执行
TIME:该进程使用CPU总时长
CMD:用户执行某条命令产生的进程信息
3.ps -ef | grep vim # 找出vim相关的进程信息
4.ps aux # a 显示当前终端下多有进程,包括其他用户的 u 以用户为主的格式显示进程 x显示所有进程
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 8.6 0.0 46532 7016 ? Ss 13:47 45:46 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root 7 0.0 0.0 0 0 ? S 13:47 0:12 [migration/0]
STAT:进程状态
S:终端睡眠中,可以被唤醒
s:进程含有子进程
R:运行中
D:不可终端睡眠
T:已停止
Z:僵尸进程,父进程异常崩溃
+:前台进程
N:低优先级进程
<:高优先级进程
L:被锁定
5.ps -eH # 显示进程树
pstree
安装
yum install pstree -y
或者 yum install psmisc -y
使用
1.[root@centos ~]# pstree
systemd─┬─VGAuthService
├─agetty
├─auditd───{auditd}
├─chronyd
├─containerd─┬─6*[containerd-shim─┬─pause]
│ │ └─8*[{containerd-shim}]]
│ ├─containerd-shim─┬─kube-apiserver───9*[{kube-apiserver}]
│ │ └─8*[{containerd-shim}]
│ ├─containerd-shim─┬─etcd───14*[{etcd}]
│ │ └─8*[{containerd-shim}]
│ ├─containerd-shim─┬─kube-proxy───7*[{kube-proxy}]
│ │ └─8*[{containerd-shim}]
│ ├─containerd-shim─┬─kube-controller───7*[{kube-controller}]
│ │ └─8*[{containerd-shim}]
│ ├─containerd-shim─┬─kube-scheduler───8*[{kube-scheduler}]
│ │ └─8*[{containerd-shim}]
│ └─26*[{containerd}]
├─crond
├─dbus-daemon───{dbus-daemon}
├─dockerd───33*[{dockerd}]
├─irqbalance
├─kubelet───17*[{kubelet}]
├─lvmetad
├─master─┬─pickup
│ └─qmgr
├─polkitd───6*[{polkitd}]
├─rsyslogd───2*[{rsyslogd}]
├─sshd───sshd───bash───pstree
├─systemd-journal
├─systemd-logind
├─systemd-udevd───3*[systemd-udevd]
├─tuned───4*[{tuned}]
└─vmtoolsd───2*[{vmtoolsd}]
2.[root@centos ~]# pgrep docker
1382
kill命令
发送相关信号给进程,达到不同的停止效果
常用信号
-
1 SIGHUP 挂起进程,终端突然掉线,用户突然退出
-
2 SIGINT 中断信号,一般常用ctrl + c 发送信号2
-
3 SIGQUIT 退出信号,一般用ctrl + \ 发送信号3
-
9 SIGKILL 强制中断信号,一般用于立即杀死进程
-
15 SIGTERM kill默认使用的信号 终止进程
-
20 SIGTSTP 暂停进程 一般通过ctrl + z发出
使用
kill -9 pid # 立即杀死进程
kill pid #终止进程
killall nginx #终止所有的Nginx进程
pkill nginx #杀死所有Nginx进程(包含子进程)
kill -0 pid #判断进程是否存在 存在返回0 不存在返回1
echo $? #shell的特殊变量,取出上一次执行结果
tty # 查看本窗口连接信息
[root@centos ~]# tty
/dev/pts/0
w # 查看这台机器所有连接信息
[root@centos ~]# w
12:11:12 up 9:40, 2 users, load average: 6.53, 6.61, 6.48
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.50.1 11:35 0.00s 0.15s 0.11s -bash
root pts/1 192.168.50.1 12:10 8.00s 0.07s 0.01s ping baidu.com
pkill -t pts/1 #杀死该连接下的进程
pkill -t -9 pts/1 #杀死所有进程及ssh进程
播种和收获通常不在一个季节,而中间的过程叫做坚持~

浙公网安备 33010602011771号