Show Service's Connections
Show active connections for a running SystemD service
Show connections for a service
Systemd tracks all processes per service by placing them in the same cgroup. Using “ps”, “awk” and “lsof”, we can print network connections for a single service, across multiple processes.
The oneliner
…ironically enough not on one line
Run as root, sudo may not work.
What does it do?
The example lists all processes started by “dovecot.service”.
List all running processes, and print pid and cgroup on each line.
For each line, check if the “cgroup” matches our regular expression, and print the pid. Actually, print a “-p”, and the pid, since this is used by lsof.
Use “xargs” to take the “-p $pid” lines from STDIN, and add them to the “lsof” command line.
Example output
Here, we see that the “dovecot.service” unit has a number of listening ports, and one established session.
Last updated