Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
With Type=forking systemd tried to monitor the forked process. This allows it to know things like when the service dies. But, the way vagrant (and vbox underneath) daemonizes confuses systemd. So, if there are multiple vm's started that are managed by systemd all but the first start and then are immediately shutdown. Type=oneshot makes it so systemd starts the process but then doesn't monitor it. RemainAfterExit=yes makes it so systemd assumes the service stays running. KillMode=none makes it so on systemctl stop systemd doesn't send a kill to all processes that were started when systemctl start was executed. On start of first vm on the machine VirtualBox starts a server daemon process which needs to not be killed. These settings make it so systemd states will only change when a systemctl command is issued. This can lead to confusing behavior where a vm might stop outside of systemd's control (ex a manual vagrant halt) but systemd will still report the service as "active".
- Loading branch information