Проверьте, работает ли конкретная служба на Ubuntu
Я не знаю имя службы, но хотел бы остановить службу, проверив ее статус. Например, если я хочу проверить, если PostgreSQL служба работает или нет, но я не знаю имя службы, то как я могу проверить его статус?
Я знаю команду для проверки состояния, если имя службы известно.
10 ответов:
у меня нет Ubuntu box, но на Red Hat Linux вы можете посмотреть все запущенные службы, выполнив следующую команду:
service --status-all
в списке
+
указывает, что служба запущена,-
указывает, что служба не запущена,?
указывает, что состояние службы не может быть определено.
для Ubuntu (проверено с 12.04)
вы можете получить список всех услуг и выбрать по цвету один из них с помощью "grep":
sudo service --status-all | grep postgres
или вы можете использовать другой способ, если вы знаете правильное название услуги:
sudo service postgresql status
может быть, то, что вы хотите-это команда PS;
ps -ef
покажет вам все запущенные процессы. Тогда, если у вас есть представление о том, что вы ищете использовать grep для фильтрации;
ps -ef | grep postgres
Если вы выполните следующую команду, вы получите список услуг:
sudo service --status-all
чтобы получить список заданий для начинающих, выполните следующую команду:
sudo initctl list
есть простой способ проверить, работает ли служба
systemctl status service_name
попробуй:
systemctl status postgres
Вы можете использовать следующую команду, чтобы проверить список всех услуг.
ps aux
чтобы проверить свой собственный сервис:
ps aux | grep postgres
лучший способ-это использование
nmap
инструмент в терминале. nmap-это полезный инструмент, который анализирует систему up, используя ееIP Address
, затем показать всю активированную сетьservices
.открыть
terminal
и использование этого примера:~$ 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
выполнить
ps-ef / grepимя, связанное с процессом
выше команда даст все детали, такие как pid, время начала процесса.
например, если вы хотите, чтобы все java realted процесс дал java или если у вас есть имя процесса поместите имя
грязный способ найти запущенные службы. (иногда это не точно, потому что некоторые пользовательские скрипты не имеют |status| option)
[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...