Ich kenne den Namen des Dienstes nicht, möchte den Dienst jedoch stoppen, indem ich seinen Status überprüfe.
Wenn ich beispielsweise überprüfen möchte, ob der PostgreSQL- Dienst ausgeführt wird oder nicht, aber den Namen des Dienstes nicht kennt, wie kann ich dann seinen Status überprüfen?
Ich kenne den Befehl zum Überprüfen des Status, wenn der Dienstname bekannt ist.
linux
postgresql
service
ubuntu-12.04
A B C D
quelle
quelle
Antworten:
Ich habe keine Ubuntu-Box, aber unter Red Hat Linux können Sie alle laufenden Dienste anzeigen, indem Sie den folgenden Befehl ausführen:
In der Liste
+
zeigt an, dass der Dienst ausgeführt wird,-
dass der Dienst nicht ausgeführt wird und?
dass der Dienststatus nicht ermittelt werden kann.quelle
[-] {name}
abersudo service {name} status
als ausgeführt angezeigt wird?sudo initctl list
, wie von @linuxnewbee hier später erwähnt.Für Ubuntu (geprüft mit 12.04)
Sie können eine Liste aller Dienste abrufen und einen von ihnen mit 'grep' nach Farbe auswählen:
Oder Sie können einen anderen Weg wählen, wenn Sie den richtigen Namen des Dienstes kennen:
quelle
sudo service --status-all 2>&1 | grep postgres
sudo service x status
meldet sichActive: inactive (dead)
hier für einen laufenden Dienst, Ubuntu 15.04 (Vivid)Vielleicht möchten Sie den Befehl ps.
zeigt Ihnen alle laufenden Prozesse. Wenn Sie eine Vorstellung davon haben, wonach Sie suchen, verwenden Sie grep zum Filtern.
quelle
pgrep -a postgres
. Dies vermeidet auch die nervigengrep --color=auto needle
.Wenn Sie den folgenden Befehl ausführen, erhalten Sie eine Liste der Dienste:
Führen Sie den folgenden Befehl aus, um eine Liste der Startaufträge abzurufen:
quelle
systemctl --full --type service --all
Es gibt eine einfache Möglichkeit, um zu überprüfen, ob ein Dienst ausgeführt wird
Versuchen Sie PostgreSQL:
quelle
Mit dem folgenden Befehl können Sie die Liste aller Dienste überprüfen.
So überprüfen Sie Ihren eigenen Service:
quelle
Der beste Weg ist die Verwendung des
nmap
Werkzeugs im Terminal. nmap ist ein nützliches Tool, mit dem ein Up-System analysiert werden kannIP Address
und dann alle aktivierten Netzwerke anzeigtservices
.Öffnen
terminal
und Verwenden dieses Beispiels:quelle
Lauf
ps -ef | grep name-related-to-process
Der obige Befehl gibt alle Details wie PID und Startzeit für den Prozess an.
Zum Beispiel, wenn Sie möchten, dass alle Java-Prozesse Java ausführen, oder wenn Sie den Namen des Prozesses haben, geben Sie den Namen ein
quelle
Schmutziger Weg, um laufende Dienste zu finden. (Manchmal ist es nicht korrekt, weil einige benutzerdefinierte Skripte nicht über die Option | status | verfügen.)
quelle
Für Centos hat das folgende Kommando für mich funktioniert (:
Ausgabe:
/usr/lib/firewalld/services/postgresql.xml
/ usr / lib / systemd / system / postgresql-9.3.service
quelle
So überprüfen Sie den Status eines Dienstes unter Linux:
Service stoppen oder starten
So erhalten Sie die Liste aller Dienste zusammen mit der PID:
Sie können systemctl verwenden, anstatt den Dienst direkt aufzurufen:
quelle
für Centos 6.10:
/sbin/service serviceNAME status
für Centos 7.6 und Ubuntu 18.04:
systemctl status NAME.service
funktioniert für alle:
service --status-all
quelle
Basierend auf dieser Antwort zu einem ähnlichen Thema https://askubuntu.com/a/58406
bevorzuge ich:
/etc/init.d/postgres status
quelle