web-dev-qa-db-fra.com

Confondre DFOREGROUND avec Apache

Je viens donc d'installer Apache sur un nouveau serveur CentOS 7, en utilisant Yum. J'ai installé Apache plusieurs fois auparavant, mais je ne l'ai jamais vu: lorsque je lance ps aux maintenant, cela montre toujours

/ usr/sbin/httpd -DFOREGROUND

Google me dit que cela signifie que le processus se déroulera au premier plan et ne se détachera pas du Shell, mais je ne comprends pas vraiment ce que cela signifie - si je ferme mon Shell, Apache mourra-t-il?

Je veux juste obtenir le comportement normal d'Apache, et faire fonctionner httpd comme d'habitude, en me déplaçant en arrière-plan, dois-je désactiver DFOREGROUND? (Je ne sais pas comment btw)

16
Cocorico

Le -DFOREGROUND l'option signifie en effet qu'Apache ne se bifurquera pas, mais cela ne signifie pas qu'il est attaché à votre Shell!

Le service est démarré par systemd lorsque vous exécutez systemctl start httpd (ou à l'ancienne, service httpd start). C'est systemd auquel Apache est attaché, et systemd gère le processus comme l'un de ses enfants. Ceci est fait pour que systemd puisse facilement dire si Apache s'est planté, sans avoir à interroger un fichier pid ou faire d'autres hackery méchants. Cela signifie également que systemd est capable de automatiquement redémarrer Apache s'il se bloque.

Courir systemctl status httpd pour voir son statut. Un exemple ressemble à:

# 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.
20
Michael Hampton