Hi Vorrarit,
actually you don't need to use nohup.
If you run the jobserver-run script with 2 parameters, the config file and a basename of a logfile, the jobserver will be started by the utility scrolllog (which is part of our system).
The scrolllog utility has multiple tasks:
1. daemonize -- this is because Java, as portable programming language, can't do it itself
2. Write logging output into files of limited size. Delete the oldest file if a configurable number of files has been written
(I've seen systems that stalled because of a file system full condition that was in fact caused by logging; that can't happen with the schedulix servers).
3. If the process started by scrolllog exits with an exit code unequal zero, start it again; a kind of watchdog functionality.
Being old-school (I'm working with Linux more than 25 years now, and before I started with Linux I already had several years of experience with other Unix systems), I'm still a fan of init.d logic.
That's easy to understand, pretty portable and it does what it should do. The only thing it doesn't do is to restart services after a failure.
But services shouldn't fail, unless something severe is the case wich would have to be resolved by an admin anyway. Restarting a service after resolving the issue isn't that much work; it's a one-liner.
Of course, this is my very personal opinion and there will be many others that see it differently.
Anyway, in the bin directory there are a few scripts that can be used as a starting point for init.d scripts.
Those scripts are written for users that install the system via rpm and have used the setup_jobserver script to create jobservers.
You can have a look at those scripts to see what they do. The scripts aren't bullet-proof though and certainly not compatible with every thinkable setup.
But as a basic guideline or idea they are certainly useful.
In your case, I would start with starting the jobservers by hand.
If that works (and I don't doubt that the least), you could write an init.d script and use that to start and stop the jobservers manually.
As a next step you can tell your systemd that there are a few init.d script you'd like to have executed at system startup. (e.g. systemctl enable schedulix-client).
systemd will scan the init.d directory, at least it used to do so, and find the script. It knows how dinosaurs used to run Unix systems and will mimic that.
If all of that works, you can try to find a more native (or modern) way to let systemd start, guard and stop your jobservers.
And though I'm very old-fashioned and very much a fan of simple solutions for simple problems, I'm also very interested in keeping schedulix modern and up-to-date.
Hence if you find a unit-definition that does exactly the right thing, I'm highly interested in the code/configuration you've found.
Best regards,
Ronald