> sysvinit checks its own PID to determine wether it's being run as init or > as userland utility. FWIW, there's also a -i option that overrides this. It can probably do getpid () == 1 || getppid () == 1.