Я не знаю название службы, но хотел бы остановить службу, проверив ее статус.
Например, если я хочу проверить, работает ли служба PostgreSQL или нет, но я не знаю имя службы, то как я могу проверить ее состояние?
Я знаю команду для проверки статуса, если известно имя службы.
Ответы:
У меня нет Ubuntu box, но в Red Hat Linux вы можете увидеть все запущенные сервисы, выполнив следующую команду:
В списке
+
указывает, что служба работает,-
указывает, что служба не запущена,?
указывает, что состояние службы не может быть определено.источник
[-] {name}
ноsudo service {name} status
показывает, как работает?sudo initctl list
, как уже упоминалось здесь @linuxnewbee.Для Ubuntu (проверено с 12.04)
Вы можете получить список всех услуг и выбрать по цвету один из них с помощью «grep»:
Или вы можете использовать другой способ, если вы знаете правильное название услуги:
источник
sudo service --status-all 2>&1 | grep postgres
sudo service x status
сообщаетActive: inactive (dead)
здесь о работающем сервисе, Ubuntu 15.04 (Vivid)Может быть, вам нужна команда ps;
покажет вам все запущенные процессы. Тогда, если у вас есть представление о том, что вы ищете, используйте grep для фильтрации;
источник
pgrep -a postgres
. Это также позволяет избежать раздражающихgrep --color=auto needle
.Если вы выполните следующую команду, вы получите список служб:
Чтобы получить список заданий upstart, выполните эту команду:
источник
systemctl --full --type service --all
Существует простой способ проверить, работает ли служба
Попробуйте PostgreSQL:
источник
Вы можете использовать команду ниже, чтобы проверить список всех услуг.
Чтобы проверить свой сервис:
источник
Лучший способ - использовать
nmap
инструмент в терминале. Nmap - это полезный инструмент, который анализирует работающую систему, используя ееIP Address
, а затем показывает всю активную сетьservices
.Откройте
terminal
и используйте этот пример:источник
бегать
ps -ef | grep name-to-process
Приведенная выше команда выдаст все детали, такие как pid, время начала процесса.
например, если вы хотите, чтобы все процессы, реализованные в java, давали java, или если у вас есть имя процесса, укажите имя
источник
Грязный способ найти запущенные сервисы. (иногда это не точно, потому что некоторые пользовательские скрипты не имеют опции | status |)
источник
Для centos у меня сработала команда ниже (:
Вывод:
/usr/lib/firewalld/services/postgresql.xml
/ usr / lib / systemd / system / postgresql-9.3.service
источник
Чтобы проверить состояние службы в операционной системе Linux:
Чтобы остановить или запустить службу
Чтобы получить список всех услуг вместе с PID:
Вы можете использовать systemctl вместо прямого вызова сервиса:
источник
для Centos 6.10:
/sbin/service serviceNAME status
для Centos 7.6 и Ubuntu 18.04:
systemctl status NAME.service
работает для всех из них:
service --status-all
источник
Исходя из этого ответа на аналогичную тему https://askubuntu.com/a/58406
я предпочитаю:
/etc/init.d/postgres status
источник