В UBUNTU, service postgresql status
списки
Process: 18534 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 18534 (code=exited, status=0/SUCCESS)
но когда я проверяю sudo ps -ax | grep 18534
ничего не указано
ЗАМЕТКИ
EDIT1 для запроса @DanielB, но мне нужна простая команда, которая показывает любой оказание услуг PID.
Здесь свалка more /lib/systemd/system/postgresql.service
,
# systemd service for managing all PostgreSQL clusters on the system. This
# service is actually a systemd target, but we are using a service since
# targets cannot be reloaded.
[Unit]
Description=PostgreSQL RDBMS
[Service]
Type=oneshot
ExecStart=/bin/true
ExecReload=/bin/true
RemainAfterExit=on
[Install]
WantedBy=multi-user.target
EDIT2
PostgreSQL выше был моим локальным сервером ... Сейчас я тестирую "новую, чистую и блестящую" каплю DigitalOcean с UBUNTU 16 LTS и Postgresql 9.X ...
root@myServer:~# service postgresql status
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: active (exited) since Dom 2016-12-18 17:47:09 UTC; 2 weeks 4 days ago
Main PID: 8703 (code=exited, status=0/SUCCESS)
Tasks: 0
Memory: 0B
CPU: 0
CGroup: /system.slice/postgresql.service
Dez 18 17:47:09 myServer systemd[1]: Starting PostgreSQL RDBMS...
Dez 18 17:47:09 myServer systemd[1]: Started PostgreSQL RDBMS.
Dez 18 17:47:14 myServer systemd[1]: Started PostgreSQL RDBMS.
root@myServer:~# sudo ps -ax | grep 8703
3702 pts/0 S+ 0:00 grep --color=auto 8703
root@myServer:~# sudo service postgresql restart
root@myServer:~# sudo ps -ax | grep 8703
3760 pts/0 S+ 0:00 grep --color=auto 8703
root@myServer:~# service postgresql status
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: active (exited) since Sex 2017-01-06 16:06:07 UTC; 8s ago
Process: 3755 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 3755 (code=exited, status=0/SUCCESS)
Jan 06 16:06:07 myServer systemd[1]: Starting PostgreSQL RDBMS...
Jan 06 16:06:07 myServer systemd[1]: Started PostgreSQL RDBMS.
sudo ps -ax | grep 3755
3780 pts/0 S+ 0:00 grep --color=auto 3755
/bin/true
это явно не сервис. Он также помечен как выход. Пожалуйста, предоставьте содержание/lib/systemd/system/postgresql.service
,service postfix status
все в порядке (!). Проблема с PostgreSQL, возможно, является своего рода «активацией потока» ... Возможно, мне нужна служба вtop
, это?postgresql
не работает Процессы имеют код завершения после выхода, поэтому нет смысла упоминать код завершения текущего запущенного процесса.Ответы:
Там нет ни одного, потому что, как вы можете видеть себя из содержимого устройства,
postgresql.service
на самом деле не запускает ни одного демона. Он существует просто как «родительский» сервис для группировки различных экземпляровpostgresql@.service
(то есть перезагрузить их все сразу). Вместо этого взгляните на:источник
systemctl status postfix@\*.service
ничего не показывать, несмотря наservice postfix status
показать PID.postgresql@.service
был явно назван так, чтобы быть несколькими экземплярами (см. его содержание), а позже, отдельныйpostgresql.service
был добавлен для выполнения трюка с «перезагрузкой» - возможно, потому, что тогда systemctl еще не поддерживал подстановочные знаки, или, возможно, кто-то просто чувствовал себя ленивым.systemctl status postfix.service
работает нормально! Так что это универсально! "используйте systemctl вместо службы" - лучший ответ, спасибо!PID службы, кажется, нигде не указан здесь:
Я говорю это, потому что это сообщение говорит о коде завершения, который не имеет смысла для запущенного процесса. Только завершенные процессы имеют код выхода.
Если служба postgres запущена, в системе GNU / Linux ее PID можно найти в выводе
sudo netstat -ntlp | grep posgres
, например:В этом виде вывода 3738 является PID.
Как примечание, чтобы проверить процесс по PID, вместо запуска
ps -ax | grep the-pid
лучше сделатьps -p the-pid
,источник