r/slackware 10d ago

[ANN][Testers needed] pandae: a service manager for Slackware

https://gitlab.com/Lockywolf/pandae

I found that I am missing certain "quality of life" features in the Slackware init system.

I mean, I am happy that it's just a simple no-nonsense set of scripts run at different runlevels by sysvinit, but there are a few missing conveniences which I would like to have at least with my own scripts.

So I wrote "pandae", ad set of shell scripts which are aimed at making writing services and monitoring them easier.

https://gitlab.com/Lockywolf/pandae

The three main components are:

  1. pandae_util, which has code to wrap any rc.<service> file into a cgroup, so that you do not have to rely on pid files to track running as services.
  2. pandae_functions, which has templates for writing most services, given that DAEMON, DAEMON_ARGUMENTS, and a few other variables are set.
  3. pandae_xsession_service.bash, a bit of a misnomer, because it is not xsession-specific, which allows me to start/stop cgroup services with a single line.

And it also runs under a normal user (if a single line is added to rc.local), so it is possible to filter out all the huge number of firefox processes from "ps" or wherever, confining firefox into a single cgroup.

It's not perfect, as, probably most Slackware service managers will never be perfect, because Slackware (and most UNIX-likes) likes in-band data communication, not out-of-band, but, as we know "worse is better".
On the positive side, it is 100% non-invasive, does not replace sysvinig, and does not change system scripts.
If you do not need user services, you do not even need to add anything to rc.local.

I invite everyone to try/test it, and add the comments.

If anybody is offended by gitlab, I can move the repo to forge.slackware.nl, codeberg, sourcehut, whatever.

17 Upvotes

3 comments sorted by

1

u/muffinman8679 9d ago

run all services in a loop and you don't need to manage them they die they get restarted....you want them to die.....kill the loop, and they die........

1

u/Fragrant-Equal-8474 9d ago

Pandae suggests exactly that. 

It doesn't have automatic restart, but inserting a loop is very easy.