Commit 4fe2dcba authored by ssrq's avatar ssrq

[explorer/init] Linux is a mess...

parent de1a421b
......@@ -25,14 +25,48 @@
case $(uname -s) in
Linux)
if command -v pgrep >/dev/null
if test -d /proc/1/
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
comm_name=$(cat /proc/1/comm)
else
ps -o comm= -p 1 2>/dev/null || cat /proc/1/comm
# BusyBox's versions of ps and pgrep do not support some options
# depending on which compile-time options have been used.
# Both pgrep and ps are tried to get the command name
comm_name=$(
pgrep -P0 -l 2>/dev/null | awk '/^1[ \t]/ { print $2 }'
|| ps -o comm= -p 1 2>/dev/null)
fi
case $comm_name
in
systemd)
echo systemd
;;
init)
# It could be anything...
if test -h /proc/1/exe
then
init_exe=/proc/1/exe
else
init_exe=$(command -v "$comm_name")
fi
test -x "$comm_exe" || exit 1
case $("$comm_exe" --version | head -n 1)
in
*SysV*)
echo init
;;
*upstart*)
echo upstart
;;
*)
echo ""
;;
esac
esac
;;
FreeBSD|OpenBSD)
ps -o comm= -p 1 2>/dev/null || true
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment