Проверьте, работает ли конкретная служба на Ubuntu


Я не знаю имя службы, но хотел бы остановить службу, проверив ее статус. Например, если я хочу проверить, если PostgreSQL служба работает или нет, но я не знаю имя службы, то как я могу проверить его статус?

Я знаю команду для проверки состояния, если имя службы известно.

10 213

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...

для centos, ниже команда работала для меня (:

locate postgres | grep service

выход:

/usr/lib/firewalld/services / postgresql.xml

/usr / lib / systemd / system/postgresql-9.3.сервис

sudo systemctl status postgresql-9.3.service