进程
726字约2分钟
2025-05-28
进程
Linux中每个进程都对应一个进程号(pid)
显示进程
ps
-a
显示当前终端的所有进程信息
-u
进程信息更详细
-x
显示进程的运行参数
ps命令是用来查看目前系统中,有哪些正在执行,以及它们的执行状况
[root@hadoop01 ~]# ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.4 125492 7992 ? Ss 5月17 0:06 /usr/lib/systemd/systemd --sw
root 2 0.0 0.0 0 0 ? S 5月17 0:00 [kthreadd]
root 4 0.0 0.0 0 0 ? S< 5月17 0:00 [kworker/0:0H]
root 6 0.0 0.0 0 0 ? S 5月17 0:00 [ksoftirqd/0]
root 7 0.0 0.0 0 0 ? S 5月17 0:00 [migration/0]
root 8 0.0 0.0 0 0 ? S 5月17 0:00 [rcu_bh]
root 9 0.0 0.0 0 0 ? R 5月17 0:03 [rcu_sched]
root 10 0.0 0.0 0 0 ? S< 5月17 0:00 [lru-add-drain]
root 11 0.0 0.0 0 0 ? S 5月17 0:00 [watchdog/0]
root 12 0.0 0.0 0 0 ? S 5月17 0:00 [watchdog/1]
root 13 0.0 0.0 0 0 ? S 5月17 0:00 [migration/1]
root 14 0.0 0.0 0 0 ? S 5月17 0:00 [ksoftirqd/1]
root 16 0.0 0.0 0 0 ? S< 5月17 0:00 [kworker/1:0H]
root 18 0.0 0.0 0 0 ? S 5月17 0:00 [kdevtmpfs]
查找 sshd
进程
[root@hadoop01 ~]# ps -aux | grep sshd
# sshd进程
root 1017 0.0 0.2 113004 4336 ? Ss 5月17 0:00 /usr/sbin/sshd -D
# ssh远程连接信息
root 1539 0.0 0.3 161772 6276 ? Ss 5月17 0:00 sshd: root@pts/0
# 查找sshd进程
root 5535 0.0 0.0 112828 988 pts/0 R+ 12:49 0:00 grep --color=auto sshd
查看父子进程
ps -ef
-e
显示所有进程
-f
全格式显示
[root@hadoop01 ~]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 5月17 ? 00:00:06 /usr/lib/systemd/systemd --switched-root --sys
root 2 0 0 5月17 ? 00:00:00 [kthreadd]
root 4 2 0 5月17 ? 00:00:00 [kworker/0:0H]
root 6 2 0 5月17 ? 00:00:00 [ksoftirqd/0]
root 7 2 0 5月17 ? 00:00:00 [migration/0]
root 8 2 0 5月17 ? 00:00:00 [rcu_bh]
root 9 2 0 5月17 ? 00:00:03 [rcu_sched]
[root@hadoop01 ~]# ps -ef | grep sshd
UID PID PPID C STIME TTY TIME CMD
# 父进程是 1
root 1017 1 0 5月17 ? 00:00:00 /usr/sbin/sshd -D
# 父进程是 1017
root 1539 1017 0 5月17 ? 00:00:00 sshd: root@pts/0
root 5564 1541 0 12:54 pts/0 00:00:00 grep --color=auto sshd
终止进程
kill 选项 pid
杀死对应进程
-9
强制执行
kill 1117
# 强制关闭
kill -9 1117
killall 进程名
杀死对应进程,并且该进程的所有子进程也会被杀死
killall firefox
进程树
pstree
-u
显示对应的用户
-p
显示对应的pid
如果没有pstree命令,则运行以下命令
sudo yum -y install psmisc
[root@hadoop01 ~]# pstree -u
systemd─┬─NetworkManager───2*[{NetworkManager}]
├─VGAuthService
├─atd
├─auditd───{auditd}
├─chronyd(chrony)
├─crond
├─dbus-daemon(dbus)
├─firewalld───{firewalld}
├─irqbalance
├─login───bash
├─lvmetad
├─master─┬─pickup(postfix)
│ └─qmgr(postfix)
├─nginx───2*[nginx]
[root@hadoop01 ~]# pstree -p
systemd(1)─┬─NetworkManager(711)─┬─{NetworkManager}(721)
│ └─{NetworkManager}(724)
├─VGAuthService(685)
├─atd(692)
├─auditd(649)───{auditd}(650)
├─chronyd(675)
├─crond(691)
├─dbus-daemon(673)
├─firewalld(705)───{firewalld}(837)
├─irqbalance(683)
├─login(700)───bash(5495)
├─lvmetad(514)
├─master(1243)─┬─pickup(5840)
│ └─qmgr(1247)
├─nginx(1026)─┬─nginx(1027)
│ └─nginx(1028)