Je ne connais pas le nom du service, mais j'aimerais arrêter le service en vérifiant son statut. Par exemple, si je veux vérifier si le service PostgreSQL fonctionne ou non, mais que je ne connaisse pas le nom du service, comment puis-je vérifier son statut?
Je connais la commande pour vérifier l'état si le nom du service est connu.
Je n'ai pas de boîte Ubuntu, mais sur Red Hat Linux , vous pouvez voir tous les services en cours d'exécution en exécutant la commande suivante:
service --status-all
Sur la liste, +
indique que le service est en cours d'exécution, -
indique que le service n'est pas en cours d'exécution, ?
indique que l'état du service ne peut pas être déterminé.
Pour Ubuntu (vérifié avec 12.04)
Vous pouvez obtenir la liste de tous les services et sélectionner par couleur l'un d'eux avec 'grep':
Sudo service --status-all | grep postgres
Ou vous pouvez utiliser un autre moyen si vous connaissez le nom correct du service:
Sudo service postgresql status
Peut-être que ce que vous voulez, c'est la commande ps;
ps -ef
va vous montrer tous les processus en cours d'exécution. Ensuite, si vous avez une idée de ce que vous recherchez, utilisez grep pour filtrer;
ps -ef | grep postgres
Si vous exécutez la commande suivante, vous obtiendrez une liste de services:
Sudo service --status-all
Pour obtenir une liste des travaux upstart, exécutez cette commande:
Sudo initctl list
Il existe un moyen simple de vérifier si un service est en cours d'exécution
systemctl status service_name
Essayez PostgreSQL:
systemctl status postgresql
Vous pouvez utiliser la commande ci-dessous pour vérifier la liste de tous les services.
ps aux
Pour vérifier votre propre service:
ps aux | grep postgres
le meilleur moyen consiste à utiliser l'outil nmap
dans le terminal. nmap est un outil utile qui analyse un système en place en utilisant IP Address
, puis affiche tous les réseaux activés services
.
ouvrez terminal
et utilisez cet exemple:
~$ nmap 192.168.1.3/24
Starting Nmap 5.21 ( http://nmap.org ) at 2016-05-16 22:49 IRDT
Nmap scan report for 192.168.1.3
Host is up (0.00020s latency).
Not shown: 994 closed ports
PORT STATE SERVICE
22/tcp open ssh
23/tcp open telnet
139/tcp open netbios-ssn
445/tcp open Microsoft-ds
3389/tcp open ms-term-serv
3689/tcp open rendezvous
courir
ps -ef | grep nom lié au processus
la commande ci-dessus donnera tous les détails, comme pid, l'heure de début du processus.
comme si vous voulez tout Java processus réel donner Java ou si vous avez le nom du processus, placez le nom
Pour vérifier l'état d'un service sur le système d'exploitation Linux:
//in case of super user(admin) requires
Sudo service {service_name} status
// in case of normal user
service {service_name} status
Pour arrêter ou démarrer le service
// in case of admin requires
Sudo service {service_name} start/stop
// in case of normal user
service {service_name} start/stop
Pour obtenir la liste de tous les services avec le PID:
Sudo service --status-all
Vous pouvez utiliser systemctl au lieu d'appeler directement le service:
systemctl status/start/stop {service_name}
Mauvaise façon de trouver des services en cours d'exécution. (Parfois, il n'est pas précis car certains scripts personnalisés n'ont pas l'option | status |)
[root@server ~]# for qw in `ls /etc/init.d/*`; do $qw status | grep -i running; done
auditd (pid 1089) is running...
crond (pid 1296) is running...
fail2ban-server (pid 1309) is running...
httpd (pid 7895) is running...
messagebus (pid 1145) is running...
mysqld (pid 1994) is running...
master (pid 1272) is running...
radiusd (pid 1712) is running...
redis-server (pid 1133) is running...
rsyslogd (pid 1109) is running...
openssh-daemon (pid 7040) is running...
Pour centos, la commande ci-dessous a fonctionné pour moi (:
locate postgres | grep service
Sortie:
/usr/lib/firewalld/services/postgresql.xml
/usr/lib/systemd/system/postgresql-9.3.service
Sudo systemctl status postgresql-9.3.service