Privilege-free & cross-platform daemon #44
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains implementation to create a daemon process that requires no special privileges to maintain running in the background after parent process exits, both on Windows and POSIX operating systems, primarily with
subprocess
module.This implementation of daemon process manager supports two modes:
This implementation has the following requirements and limitations:
On Daemon Process Manager:
atexit
registerer.On the interoperation with neetbox:
If this implementation of daemon process manager is to be used in creation of other daemon processes apart from that included in this PR, the following additional requirements have to be met:
{path_to_python_executable} -m package.name
(though this can be changed when necessary).Tested on Windows 11 and WSL2 Ubuntu 20.04
This PR also introduces some other changes and improvements. See commit history for details.