# Systemd
SUSE distributions uses systemd as a default init system. It provides a
xinetd-like capability called socket activation, where services are spawned once
underlying socket get an incoming connection.
It is highly recommended for you to rather stick to socket activation than
continuing with usage of xinetd service activation.
## Example of socket activation
The xinetd configuration for ftp daemon /etc/xinetd.d/ftp
service ftp
{
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/sbin/ftpd
}
This is an equvalent socket unit
ftp.socket
[Unit]
Description=FTP Server socket
[Socket]
ListenStream=21
#service is spawned for each incoming connection in inetd-style
#Accept=true
# Those two lines will ensure the ftp.socket will be created on a system boot
[Install]
WantedBy=sockets.target
ftpd.service
[Unit]
Description=FTP Server service
[Service]
ExecStart=/usr/bin/ftpd
# not needed in case, .service and .socket units has the same name
Sockets=ftp.socket
Then you need to enable socket
# systemctl enable ftp.socket
Start it (will be done on next boot if enabled before)
# systemctl start ftp.socket
And server can be started manually by
# systemctl enable ftp.service
Status of .socket and .service can be checked using systemctl status ftp.(socket|service)
Please consult systemd.socket(5), systemd.exec(5), systemd.service(5) and
systemd.unit(5) for detailed information about all options provided by systemd.
Your SUSE Team