Linux-Methodenbeispiel zum Anzeigen aller Informationen des Prozesses

Linux-Methodenbeispiel zum Anzeigen aller Informationen des Prozesses

Auf dem Server läuft ein Taskprozess. Wenn wir ihn mit ps -ef | grep task anzeigen, erhalten wir nur einige grundlegende Informationen. Wenn wir den entsprechenden Dateipfad und den vollständigen Pfad des Startbefehls kennen müssen, wissen wir nicht, wo wir anfangen sollen.

Heute zeige ich Ihnen eine Methode, mit der Sie alle Informationen des Prozesses anzeigen können, einschließlich des vollständigen Pfads des Startbefehls, des vollständigen Pfads der entsprechenden Datei und anderer Informationen: ls -l /proc/PID

Wenn Sie beispielsweise „ps -ef | grep webhook“ verwenden, um den Prozess anzuzeigen, können Sie nur die folgenden Informationen abrufen:

> ps -ef | grep webhook
root 15902 1 0 Aug15 ? 00:00:00 python -u src/webhook.py
root 30639 30612 0 22:50 pts/0 00:00:00 grep --color=auto webhook

Führen Sie dann ls -l /proc/15902 aus.

> ll /proc/15902
dr-xr-xr-x 2 root root 0 18. September 22:52 attr
-rw-r--r-- 1 root root 0 18. September 22:52 automatische Gruppe
-r-------- 1 root root 0 18. September 22:52 auxv
-r--r--r-- 1 root root 0 18. September 22:52 cgroup
--w------ 1 root root 0 18. September 22:52 clear_refs
-r--r--r-- 1 root root 0 15. Aug. 16:48 cmdline
-rw-r--r-- 1 root root 0 18. September 22:52 Komm
-rw-r--r-- 1 root root 0 18. September 22:52 coredump_filter
-r--r--r-- 1 root root 0 18. September 22:52 CPU-Set
lrwxrwxrwx 1 root root 0 15. August 16:48 cwd -> /services/apps/webhook
-r-------- 1 root root 0 18. Sep 22:52 Umgebung
lrwxrwxrwx 1 root root 0 15. August 16:48 exe -> /usr/bin/python2.7
dr-x------ 2 root root 0 15. Aug. 16:48 fd
dr-x------ 2 root root 0 18. September 22:52 fdinfo
-rw-r--r-- 1 root root 0 18. September 22:52 gid_map
-r-------- 1 root root 0 18. September 22:52 io
-r--r--r-- 1 root root 0 Sep 18 22:52 Grenzen
...

Es gibt mehrere Hauptdateien, auf die wir uns konzentrieren können:

  • cwd: das Verzeichnis, in dem sich die Datei befindet
  • exe: Der vollständige Pfad zum auszuführenden Befehl
  • environ: Umgebungsvariablen beim Ausführen von Befehlen

Auffüllen:

#lsof listet die aktuell geöffneten Systemdateien auf, wird oft mit der Option -i verwendet, um zu sehen, welches Programm einen Port belegt [root@bogon ~]# lsof -i:80
BEFEHL PID BENUTZER FD TYP GERÄTEGRÖSSE/AUS KNOTENNAME
httpd 6701 root 4u IPv6 64259 0t0 TCP *:http (HÖREN)
httpd 6702 Apache 4u IPv6 64259 0t0 TCP *:http (HÖREN)
httpd 6703 Apache 4u IPv6 64259 0t0 TCP *:http (HÖREN)
httpd 6704 Apache 4u IPv6 64259 0t0 TCP *:http (HÖREN)
httpd 6705 Apache 4u IPv6 64259 0t0 TCP *:http (HÖREN)
httpd 6706 Apache 4u IPv6 64259 0t0 TCP *:http (HÖREN)
[root@bogon ~]# lsof -i:22
BEFEHL PID BENUTZER FD TYP GERÄTEGRÖSSE/AUS KNOTENNAME
sshd 931 root 3u IPv4 20955 0t0 TCP *:ssh (HÖREN)
sshd 931 root 4u IPv6 20965 0t0 TCP *:ssh (HÖREN)
sshd 3926 root 3u IPv4 36374 0t0 TCP bogon:ssh->bogon:53436 (HERGESTELLT)
[root@bogon ~]# 


#Alle Informationen zu Prozessen für alle Benutzer auf dem Terminal abrufen [root@bogon ~]# ps -aux
BENUTZER PID %CPU %MEM VSZ RSS TTY STAT STARTZEIT BEFEHL
root 1 0.0 0.4 128092 4724 ? Ss Jun25 0:03 /usr/lib/systemd/syste
Wurzel 2 0,0 0,0 0 0 ? S 25. Juni 0:00 [kthreadd]
Wurzel 3 0,0 0,0 0 0 ? S 25. Juni 0:00 [ksoftirqd/0]
Wurzel 6 0,0 0,0 0 0 ? S 25. Juni 0:00 [kworker/u256:0]
Wurzel 7 0,0 0,0 0 0 ? S 25. Juni 0:00 [Migration/0]
Wurzel 8 0,0 0,0 0 0 ? S 25. Juni 0:00 [rcu_bh]
Wurzel 9 0,0 0,0 0 0 ? R 25. Juni 0:01 [rcu_sched]
Wurzel 10 0,0 0,0 0 0 ? S 25. Juni 0:00 [Watchdog/0]
Wurzel 12 0,0 0,0 0 0 ? S< 25. Juni 0:00 [khelper]
root 13 0.0 0.0 0 0 ? S 25. Juni 0:00 [kdevtmpfs]
Wurzel 14 0,0 0,0 0 0 ? S< 25. Juni 0:00 [netns]
Wurzel 15 0,0 0,0 0 0 ? S 25. Juni 0:00 [khungtaskd]
Wurzel 16 0,0 0,0 0 0 ? S< Jun25 0:00 [Zurückschreiben]
Wurzel 17 0,0 0,0 0 0 ? S< 25. Juni 0:00 [kintegrityd]
Wurzel 18 0,0 0,0 0 0 ? S< 25. Juni 0:00 [Bioset]
Wurzel 19 0,0 0,0 0 0 ? S< 25. Juni 0:00 [kblockd]
Wurzel 20 0,0 0,0 0 0 ? S< 25. Juni 0:00 [md]
Wurzel 26 0,0 0,0 0 0 ? S 25. Juni 0:00 [kswapd0]
Wurzel 27 0,0 0,0 0 0 ? SN 25. Juni 0:00 [ksmd]
root 28 0.0 0.0 0 0 ? SN Jun25 0:00 [große Seitenaufrufe]
Wurzel 29 0,0 0,0 0 0 ? S 25. Juni 0:00 [fsnotify_mark]
root 30 0.0 0.0 0 0 ? S< Jun25 0:00 [Krypto]
Wurzel 38 0,0 0,0 0 0 ? S< 25. Juni 0:00 [kthrotld]
Wurzel 40 0,0 0,0 0 0 ? S< 25. Juni 0:00 [kmpath_rdacd]
Wurzel 41 0,0 0,0 0 0 ? S< 25. Juni 0:00 [kpsmoused]
root 43 0.0 0.0 0 0 ? S< Jun25 0:00 [ipv6_addrconf]
Wurzel 62 0,0 0,0 0 0 ? S< 25. Juni 0:00 [deferwq]
root 94 0.0 0.0 0 0 ? S Jun25 0:00 [kauditd]
Wurzel 233 0,0 0,0 0 0 ? S< 25. Juni 0:00 [mpt_poll_0]
Wurzel 234 0,0 0,0 0 0 ? S< 25. Juni 0:00 [ata_sff]
Wurzel 235 0,0 0,0 0 0 ? S< Jun25 0:00 [mpt/0]
Wurzel 241 0,0 0,0 0 0 ? S 25. Juni 0:00 [scsi_eh_0]
Wurzel 243 0,0 0,0 0 0 ? S< 25. Juni 0:00 [scsi_tmf_0]
Wurzel 245 0,0 0,0 0 0 ? S 25. Juni 0:00 [scsi_eh_1]
Wurzel 246 0,0 0,0 0 0 ? S 25. Juni 0:00 [kworker/u256:2]
. . . . . .


#Alle Prozessnummern eines Serviceprogramms abrufen [root@bogon ~]# pgrep httpd
6701
6702
6703
6704
6705
6706
#Beenden Sie den Prozess, killall beendet alle Prozesse nach Programmnamen [root@bogon ~]# killall httpd
[root@bogon ~]# pgrep httpd
[root@bogon ~]# 
#kill kill-Programm [root@bogon ~]# cat a.sh #Tote Schleife #!/bin/bash
während wahr
Tun
  echo "linux">/dev/null
Erledigt
[root@bogon ~]# ./a.sh
^Z
[1]+ Gestoppt ./a.sh
[root@bogon ~]# ps
  PID TTY ZEIT CMD
 3930 Punkte/1 00:00:00 bash
 11719 Punkte/1 00:00:01 Uhr
 11729 Punkte/1 00:00:00 Punkte
[root@bogon ~]# kill 11719 #Ich habe dieses Problem zufällig entdeckt, der Grund ist noch nicht klar [root@bogon ~]# ps
  PID TTY ZEIT CMD
 3930 Punkte/1 00:00:00 bash
 11719 Punkte/1 00:00:01 Uhr
 11733 Punkte/1 00:00:00 Punkte
[root@bogon ~]# kill -9 11719 #Da ein gewöhnlicher Kill nicht töten kann, senden Sie ein Signal -9, um einen Kill direkt zu erzwingen. Das Problem ist gelöst [root@bogon ~]# ps
  PID TTY ZEIT CMD
 3930 Punkte/1 00:00:00 bash
 11734 Punkte/1 00:00:00 Punkte
[1]+ Getötet ./a.sh
[root@bogon ~]# ./a.sh &
[1] 11735
[root@bogon ~]# ps
  PID TTY ZEIT CMD
 3930 Punkte/1 00:00:00 bash
 11735 Punkte/1 00:00:01 Uhr
 11736 Punkte/1 00:00:00 Punkte
[root@bogon ~]# kill 11735 #Gewöhnliche im Hintergrund laufende Programme können direkt beendet werden
[root@bogon ~]# ps
  PID TTY ZEIT CMD
 3930 Punkte/1 00:00:00 bash
 11737 Punkte/1 00:00:00 Punkte
[1]+ Beendet ./a.sh
[root@bogon ~]#

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Zeigen Sie die vom Prozess in Linux belegte Portnummer an
  • So zeigen Sie Prozessstapelinformationen in Linux an
  • So zeigen Sie die Anzahl der von einem Prozess geöffneten Dateihandles an und ändern sie in Linux
  • Detailliertes Verständnis der Anzeige der Prozessspeichernutzung unter Linux
  • 4 Möglichkeiten zum Anzeigen von Prozessen in LINUX (Zusammenfassung)

<<:  Detaillierte Erklärung zur Verwendung der ziehbaren Textfeldkomponente von Vue.js

>>:  Grafisches Tutorial zur Installation und Konfiguration von MySQL (CentOS7)

Artikel empfehlen

Beispielcode für CSS-Bildanimationseffekte (Fotorahmen)

Dieser Artikel stellt den Beispielcode für CSS-Bi...

So kapseln Sie Axios-Anfragen mit Vue

Tatsächlich ist es sehr einfach, Axios in Vue zu ...

Der Aufruf der Suchmaschine auf der Seite erfolgt am Beispiel von Baidu

Heute ist mir plötzlich eingefallen, dass es cool ...

Zusammenfassung der Ereignisbehandlung im Vue.js-Frontend-Framework

1. v-on-Ereignisüberwachung Um DOM-Ereignisse abz...

Verwenden Sie „overflow: hidden“, um Seiten-Bildlaufleisten zu deaktivieren

Code kopieren Der Code lautet wie folgt: html { Ü...

Eine einfache und eingehende Studie zu Async und Await in JavaScript

Inhaltsverzeichnis 1. Einleitung 2. Detaillierte ...

Der Unterschied zwischen Animation und Übergang

Der Unterschied zwischen CSS3-Animation und JS-An...

MySQL 8.0 DDL-Atomaritätsfunktion und Implementierungsprinzip

1. Übersicht über die Atomizität von DDL Vor 8.0 ...

Einführung in die Leistungsoptimierung von MySQL-Datenbanken

Inhaltsverzeichnis Warum optimieren? ? Wo soll ic...