Confuso sobre DFOREGROUND com o Apache

10

Então eu acabei de instalar o Apache em um novo servidor CentOS 7, usando o Yum. Eu instalei o Apache muitas vezes antes, mas nunca vi isto: Quando eu executo ps aux agora, ele sempre mostra

/ usr / sbin / httpd -DFORREGULHO

O Google me diz que isso significa que o processo será executado em primeiro plano e não desanexado do shell, mas eu realmente não entendo o que isso significa - se eu fechar meu shell, o Apache morrerá?

Eu só quero obter o comportamento normal do Apache e executar o httpd como sempre costumava, arrastando em segundo plano, preciso desabilitar DFOREGROUND? (Eu não consigo descobrir como btw)

    
por Cocorico 22.07.2014 / 03:35

1 resposta

15

A opção -DFOREGROUND realmente significa que o Apache não vai funcionar, mas isso não significa que ele esteja anexado ao seu shell!

O serviço é iniciado pelo systemd quando você executa systemctl start httpd (ou o estilo antigo, service httpd start ). É o systemd ao qual o Apache está conectado e o systemd está gerenciando o processo como um de seus filhos. Isso é feito para que o systemd possa saber facilmente se o Apache travou, sem precisar pesquisar um arquivo pid ou fazer outra invasão desagradável. Isso também significa que systemd é capaz de automaticamente reiniciar o Apache se ele falhar.

Execute systemctl status httpd para ver seu status. Um exemplo parece:

# systemctl status httpd
httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled)
   Active: active (running) since Sat 2014-07-12 01:53:50 UTC; 1 weeks 3 days ago
  Process: 21400 ExecReload=/usr/sbin/httpd $OPTIONS -k graceful (code=exited, status=0/SUCCESS)
 Main PID: 390 (httpd)
   Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec"
   CGroup: /system.slice/httpd.service
           ├─  390 /usr/sbin/httpd -DFOREGROUND
           ├─15379 /usr/sbin/httpd -DFOREGROUND
           ├─15858 /usr/sbin/httpd -DFOREGROUND
           ├─16809 /usr/sbin/httpd -DFOREGROUND
           ├─16944 /usr/sbin/httpd -DFOREGROUND
           ├─17079 /usr/sbin/httpd -DFOREGROUND
           ├─17351 /usr/sbin/httpd -DFOREGROUND
           ├─17487 /usr/sbin/httpd -DFOREGROUND
           ├─17772 /usr/sbin/httpd -DFOREGROUND
           ├─17908 /usr/sbin/httpd -DFOREGROUND
           └─18043 /usr/sbin/httpd -DFOREGROUND

Jul 12 01:53:50 hozen httpd[390]: AH02559: The SSLCertificateChai...d
Jul 12 01:53:50 hozen httpd[390]: AH00558: httpd: Could not relia...e
Jul 12 01:53:50 hozen systemd[1]: Started The Apache HTTP Server.
Jul 13 03:30:02 hozen systemd[1]: Reloading The Apache HTTP Server.
Jul 13 03:30:02 hozen httpd[9332]: AH02559: The SSLCertificateCha...d
Jul 13 03:30:02 hozen systemd[1]: Reloaded The Apache HTTP Server.
Jul 21 03:19:02 hozen systemd[1]: Reloading The Apache HTTP Server.
Jul 21 03:19:02 hozen httpd[21400]: AH02559: The SSLCertificateCh...d
Jul 21 03:19:02 hozen systemd[1]: Reloaded The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.
    
por 22.07.2014 / 04:12