Onde o processo do serviço?

0

Em UBUNTU, service postgresql status listas

  Process: 18534 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
 Main PID: 18534 (code=exited, status=0/SUCCESS)

mas quando eu testo sudo ps -ax | grep 18534 nada está listado.

NOTAS

EDIT1 para o pedido @DanielB, mas eu preciso de um comando simples que mostre qualquer serviço PID.

Aqui um dump 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

O PostgreSQL acima era meu servidor localhost ... Agora estou testando em uma nova gota DigitalOcean "limpa e brilhante" com UBUNTU 16 LTS e 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
    
por Peter Krauss 06.01.2017 / 15:48

2 respostas

1

Não existe nenhum, porque como você pode ver a si mesmo a partir do conteúdo da unidade, postgresql.service na verdade não inicia nenhum daemon. Existe apenas como um serviço 'pai' para agrupar várias instâncias de [email protected] (ou seja, para recarregar todas elas de uma só vez). Em vez disso, dê uma olhada:

systemctl status postgresql@\*.service
    
por 06.01.2017 / 17:38
1

O PID do serviço não parece estar indicado em nenhum lugar aqui:

  Process: 18534 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
 Main PID: 18534 (code=exited, status=0/SUCCESS)

Eu digo isso porque essa mensagem fala sobre código de saída, o que não faz sentido para um processo em execução. Apenas processos terminados possuem código de saída.

Se o serviço postgres estiver sendo executado, em um sistema GNU / Linux, você poderá encontrar seu PID na saída de sudo netstat -ntlp | grep posgres , por exemplo:

tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 3738/postgres

Nesse tipo de saída, 3738 é o PID.

Como observação, para verificar um processo por PID, em vez de executar ps -ax | grep the-pid , é melhor fazer ps -p the-pid .

    
por 06.01.2017 / 17:20

Tags