[systemd-devel] Service activation
Wols Lists
antlists at youngman.org.uk
Sun Feb 13 11:09:11 UTC 2022
On 13/02/2022 09:54, Mantas Mikulėnas wrote:
> On Sun, Feb 13, 2022 at 2:03 AM Wol <antlists at youngman.org.uk
> <mailto:antlists at youngman.org.uk>> wrote:
>
> More fun getting things to work ... :-)
>
> So I've got a service, scarletdme.service, which fires up my db backend
> for running interactively. However, I also need a socket service for
> remote connections.
>
> I've got the xinetd files, but if I'm running systemd, I want to use
> systemd :-)
>
> So I've written scarletdme.socket, and scarletdme at .service, but the
> more
> I read, the more I don't understand ...
>
> Do I enable scarletdme.socket the same as anything else eg "systemctl
> enable scarletdme.socket"? How does it know the difference between
> scarletdme.service and scarletdme at .service? I get the impression I need
> to put something in the .socket file to make it use scarletdme@ rather
> than scarletdme?
>
>
> If it's a 'nowait' socket (which is "[Socket] Accept=yes" in systemd
> terms), then it will use the templated @.service, starting a new
> instance for each "accepted" socket (i.e. instance per connection). See
> oidentd.socket for comparison.
>
> Otherwise (by default) it uses the non-templated service and directly
> gives it the "listening" socket, letting the service itself handle accept().
>
??? Sorry, that's double dutch to me.
Are you telling me that just copying the files into /lib/systemd/system
will enable them? That seems weird to me because it doesn't do it for
normal services afaik. (Or shouldn't I be copying it direct into
/lib/systemd/system? I just don't know ...)
So I do systemctl status and get this - I'm surprised I got anything!
thewolery /home/anthony/gitstuff # systemctl status scarletdme.socket
○ scarletdme.socket - ScarletDME Per-Connection Server
Loaded: loaded (/lib/systemd/system/scarletdme.socket; disabled;
vendor preset: disabled)
Active: inactive (dead)
Listen: [::]:4242 (Stream)
Accepted: 0; Connected: 0;
thewolery /home/anthony/gitstuff #
Does that mean when I connect it will fire off the scarletdme at .service?
Or does all the disabled stuff means systemd has found it but is
ignoring it?
Sorry, I know all this is supposed to be "simple", and when I've done it
once or twice it will be, but at the moment I just don't have a clue.
>
>
> And once I've got all that sorted, I'm betting I'm going to have grief
> getting it to work properly, so while it's not much to do with systemd,
> is there any way I can get systemd to log all traffic back and forth so
> I can debug it?
>
>
> No, the traffic doesn't even go through systemd in the first place.
>
Cheers,
Thanks
More information about the systemd-devel
mailing list