#!/bin/sh # # 2016 Daniel Heule (hda at sfs.biz) # Copyright 2017, Philippe Gregoire # # This file is part of cdist. # # cdist is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cdist is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with cdist. If not, see . # # # Returns the process name of pid 1 ( normaly the init system ) # for example at linux this value is "init" or "systemd" in most cases # case $(uname -s) in Linux) if command -v pgrep >/dev/null then # BusyBox's version of ps does not support some options. # On Linux systems, we prefer pgrep to get the name of PID1. (pgrep -P0 -l | awk '/^1[ \t]/ {print $2;}') || true else ps -o comm= -p 1 2>/dev/null || cat /proc/1/comm fi ;; FreeBSD|OpenBSD) ps -o comm= -p 1 2>/dev/null || true ;; Darwin) basename "$(ps -o comm= -p 1 2>/dev/null)" ;; *) # return a empty string as unknown value echo "" ;; esac