podman
1package systemd
2
3import (
4"os"
5"strconv"
6)
7
8// SocketActivated determine if podman is running under the socket activation protocol
9// Criteria is based on the expectations of "github.com/coreos/go-systemd/v22/activation"
10func SocketActivated() bool {
11pid, found := os.LookupEnv("LISTEN_PID")
12if !found {
13return false
14}
15p, err := strconv.Atoi(pid)
16if err != nil || p != os.Getpid() {
17return false
18}
19
20fds, found := os.LookupEnv("LISTEN_FDS")
21if !found {
22return false
23}
24nfds, err := strconv.Atoi(fds)
25if err != nil || nfds == 0 {
26return false
27}
28return true
29}
30