- sminit is a trivial service manager, trying to mimic zinit
- sminit manager's main job is to handle services
- an external actor could ask the manager for the following:
- track a new service based on a service definition
- start a tracked service (start the process)
- stop a tracked service (stop the process, but process info is still in memory)
- delete a tracked service
- the manager should guarantee thread safety, since multiple actors could send requests to the manager at a time
- there should be a server exposing the manager's functionality to external actors
- users could send requests to the server by using a cli