Heim >häufiges Problem >So überprüfen Sie, was der Prozess unter Linux tut
So überprüfen Sie, welche Prozesse unter Linux ausgeführt werden: 1. Befehl ps, der alle Prozesse des aktuellen Benutzers auflisten kann; 2. Befehl top, der den Prozessstatus des Systems in Echtzeit anzeigen kann; eine verbesserte Version von top und bietet mehr interaktive Funktionen; 4. pstree-Befehl, der die Beziehung zwischen Prozessen in einer Baumstruktur anzeigen kann; 5. lsof-Befehl, der offene Dateien und Netzwerkverbindungen im aktuellen System anzeigen kann;
Die Betriebsumgebung dieses Artikels: Linux 5.18.14-System, DELL G3-Computer.
1. Im Linux-System können Sie den folgenden Befehl verwenden, um die laufenden Prozesse im Detail anzuzeigen:
1. Der ps-Befehl kann alle Prozesse des aktuellen Benutzers auflisten. Zu den häufig verwendeten Parametern gehören -a, -u, -x usw. Verwenden Sie beispielsweise den Befehl ps -aux, um detaillierte Informationen zu allen Prozessen aufzulisten, einschließlich Prozess-ID, ID des übergeordneten Prozesses, Benutzer, CPU-Auslastung, Speichernutzung usw.
2. Top-Befehl: Der Top-Befehl kann den Systemprozess in Echtzeit anzeigen. Die Prozessliste kann über eine interaktive Oberfläche in Echtzeit aktualisiert und auf verschiedene Arten sortiert werden. Mit dem Befehl top -c können Sie die vollständige Befehlszeile eines Prozesses anzeigen.
3. htop-Befehl: htop ist eine verbesserte Version von top, die mehr interaktive Funktionen bietet und mit der Maus bedient werden kann. htop kann auch detaillierte Informationen zu Prozessen anzeigen.
4. pstree-Befehl: Der pstree-Befehl kann die Beziehung zwischen Prozessen in einer Baumstruktur anzeigen. Mit dem Befehl pstree -p können Sie die PID des Prozesses anzeigen.
5. lsof-Befehl: Der lsof-Befehl kann offene Dateien und Netzwerkverbindungen im aktuellen System anzeigen. Verwenden Sie den Parameter -l, um detaillierte Informationen zum Prozess anzuzeigen, einschließlich der PID des Prozesses und des Benutzers des Prozesses.
Kurz gesagt, die oben genannten Befehle können zum Anzeigen laufender Prozesse verwendet werden, und verschiedene Befehle eignen sich für verschiedene Anlässe. Wählen Sie einfach den entsprechenden Befehl entsprechend Ihren Anforderungen aus.
2. Die Bedeutung jedes Prozessstatus
1. R: Wird ausgeführt
bedeutet, dass der Prozess ausgeführt wird oder in der zulässigen Warteschlange wartet.
2. S: Unterbrechen
bedeutet, dass der Prozess schläft. Wenn ein bestimmter Zustand vorliegt oder ein Signal empfangen wird, wird er den unterbrochenen Zustand verlassen.
3. D: Ununterbrechbar
bedeutet, dass der Prozess nicht auf asynchrone Signale des Systems reagiert und auch mit dem Kill-Befehl nicht unterbrochen werden kann.
4. Z: Zombie
bedeutet, dass der Prozess beendet wurde, der Prozessdeskriptor jedoch weiterhin existiert, bis der übergeordnete Prozess die Systemfunktion wait(4) aufruft, um den Prozess freizugeben.
5. T: Stop
bedeutet, dass der Prozess nach Erhalt des Stoppsignals stoppt.
3. Status
[root@mycentos ~]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 191120 3588 ? Ss 2021 25:59 /usr/lib/systemd/systemd --system --deserialize 19 root 2 0.0 0.0 0 0 ? S 2021 0:00 [kthreadd] root 4 0.0 0.0 0 0 ? S< 2021 0:00 [kworker/0:0H] root 6 0.0 0.0 0 0 ? S 2021 1:51 [ksoftirqd/0] root 7 0.0 0.0 0 0 ? S 2021 0:00 [migration/0] root 8 0.0 0.0 0 0 ? S 2021 0:00 [rcu_bh] 1、USER:进程的所有者 2、PID: 进程ID号 3、%CPU:运算器占用率 4、%MEM:内存占用率 5、VSZ: 虚拟内存使用量,单位KB 6、RSS: 占用的固定内存量,单位KB 7、TTY: 所在终端 8、STAT:进程状态 9、START: 进程被启动的时间 10、TIME: 实际使用CPU的时间 11、COMMEND: 命令名称和参数
4. Der oberste Befehl wird verwendet, um Prozessaktivität und Systemlastinformationen dynamisch zu überwachen. Der Befehl
top ist sehr leistungsfähig und kann den Betriebs- und Wartungsstatus des Systems dynamisch anzeigen.
1. Die Bedeutung jeder Zeile von oben
[root@mycentos ~]# top top - 13:45:38 up 267 days, 14:36, 1 user, load average: 0.01, 0.06, 0.05 Tasks: 107 total, 1 running, 106 sleeping, 0 stopped, 0 zombie %Cpu(s): 1.3 us, 1.3 sy, 0.0 ni, 97.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 1881820 total, 92160 free, 631276 used, 1158384 buff/cache KiB Swap: 0 total, 0 free, 0 used. 1037740 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 20797 root 10 -10 148748 20952 6844 S 2.0 1.1 191:48.06 AliYunDun 6728 redis 20 0 143200 2684 1268 S 0.3 0.1 17:55.69 redis-server 11156 rabbitmq 20 0 1820368 74484 2644 S 0.3 4.0 106:56.41 beam.smp 29954 polkitd 20 0 52812 2340 700 S 0.3 0.1 40:13.73 redis-server 1 root 20 0 191120 3588 2044 S 0.0 0.2 26:00.01 systemd 备注: top 命令执行结果的前5行为系统整体的统计信息 1、第1行:系统时间、运行时间、登录终端数量、系统负载(3个数值分别表示: 1分钟,5分钟,15分钟内的平均负载值,数值越小意味着负载越低)。 2、第2行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。 3、第3行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、 空闲的资源百分比。(这一行中的数据均为 cpu 数据并以百分比格式显示, 比如:"97.3 id"表示有 97.3%的CPU处理器资源处于空闲) 4、第4行:物理内存总量、内存空闲量、内存使用量、作为内核缓存的内存量。 5、第5行:虚拟内存总量、虚拟内存空闲量、虚拟内存使用量、已被提前加载的内存量。
5. Sehen Sie sich die Prozess-ID eines Dienstes an
[root@mycentos ~]# pidof mysqld 27748 备注: pidof 服务名称 pidof 命令用于查询某个指定服务进程的PID 值。 每个进程的进程号(PID)是唯一的, 因此可以通过PID来区分不同的进程。
Das obige ist der detaillierte Inhalt vonSo überprüfen Sie, was der Prozess unter Linux tut. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!