When i turn off my WiFi, NetworkManager kills apache2. This can be seen in '/var/log/apache/error_log':
[Sun Mar 01 13:25:55 2015] [notice] caught SIGTERM, shutting down
However, this does not happen if i turn off the WiFi manually by doing
sudo ifconfig wlan0 down
It seems NetworkManager goes to status 'inactive' when i disconnect it from the WiFi.
These are some of the contents of '/var/log/messages' around the time i turn off the WiFi:
Mar 1 13:25:52 raven NetworkManager[22393]: <info> (wlan0): device state change: activated -> disconnected (reason 'user-requested') [100 30 39]
Mar 1 13:25:52 raven NetworkManager[22393]: <info> (wlan0): deactivating device (reason 'user-requested') [39]
Mar 1 13:25:52 raven dhcpcd[350]: received SIGTERM, stopping
Mar 1 13:25:52 raven dhcpcd[350]: wlan0: removing interface
Mar 1 13:25:53 raven NetworkManager[22393]: <info> (wlan0): canceled DHCP transaction, DHCP client pid 350
Mar 1 13:25:53 raven NetworkManager[22393]: <info> NetworkManager state is now DISCONNECTED
Mar 1 13:25:53 raven dbus[16077]: [system] Activating service name='org.freedesktop.nm_dispatcher' (using servicehelper)
Mar 1 13:25:53 raven NetworkManager[22393]: <warn> (pid 350) unhandled DHCP event for interface wlan0
Mar 1 13:25:53 raven NetworkManager[22393]: <warn> Connection disconnected (reason -3)
Mar 1 13:25:53 raven NetworkManager[22393]: <info> (wlan0): supplicant interface state: completed -> disconnected
Mar 1 13:25:53 raven NetworkManager[22393]: <warn> Connection disconnected (reason -3)
Is there a way to "uncouple" apache2 from NetworkManager so it is not killed when going offline
I have gentoo 3.10.7-gentoo-r1, i am using OpenRC (not systemd), NetworkManager 0.9.8.8, and apache 2.2.25
Same problem here (Gentoo user for years).
Very quick solution:
As root, just type apache1
this will start apache with the same configs as the init script /etc/init.d/apache2
does. The only difference is that it will not check for a started network.
The reason why it is stopped then NetworkManager is stopped is this part of the init script:
depend() {
need net
use mysql dns logger netmount postgresql
after sshd
}
The need net
part tells the script that this service requires the network to be up. On machine where NetworkManager is used and there is no network connection, through WiFi or wired networks, this condition is not given and the service is stopped automatically.
So as a second (still hacky) solution, you could just comment out this line.