v0.5.0
This update contains many changes throughout. If you're using cgroups, please
review the changes as they likely affect your code. For those upgrading from v0.5.0-rc.0,
the only change is in italics below for how the exit status is set for commands exiting due to
signals.
-
New features
- Added
:cgroup_base. The preferred way of using cgroups now is for MuonTrap
to create a sub-cgroup for running the command. This removes the need to
keep track of cgroup paths on your own when you run more than one command at
a time.:cgroup_pathis still available. - Almost all inconsistencies between MuonTrap.Daemon and MuonTrap.cmd/3 have
been fixed. As a result, MuonTrap.Daemon detects and raises more exceptions
than previous. It is possible that code that worked before will now break. - MuonTrap.Daemon sets its exit status based on the process's exit code.
Successful exit codes (exit code 0) exit:normaland failed exit codes
(anything else) do not. This makes it possible to use the Supervisor
:temporaryrestart strategy that only restarts failures. - MuonTrap.Daemon supports a
:nameparameter for setting GenServer names. - MuonTrap.Daemon
cggetandcgsethelpers return ok/error tuples now since
it was too easy to accidentally call them such that they'd raise.
- Added
-
Bug fixes
- Forcefully killed processes would get stuck in a zombie state until the kill
timeout expired due to a missing call to wait(2). This has been fixed. - Exit status of process killed by a signal reflects that. I.e., a process
killed by a signal exits with a status of 128+signal.
- Forcefully killed processes would get stuck in a zombie state until the kill