Confused about DFOREGROUND with Apache
The -DFOREGROUND
option does indeed mean that Apache won't fork, but that doesn't mean that it's attached to your shell!
The service is started by systemd when you run systemctl start httpd
(or the old style way, service httpd start
). It is systemd to which Apache is attached, and systemd is managing the process as one of its children. This is done so that systemd can easily tell whether Apache has crashed, without having to poll a pid file or do other nasty hackery. This also means that systemd is capable of automatically restarting Apache if it does crash.
Run systemctl status httpd
to see its status. An example looks like:
# 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.