You can check details in procd init procd actually ignores the process specification "/etc/init.d/rcS" (there is no such a script!) in "/etc/inittab". The implementation is in rcS.c: int rcS(char *pattern, char *param, void (*q_empty)(struct runqueue *)) { runqueue_init(&q); q.empty_cb = q_empty; q.max_running_tasks = 1; return _rc(&q, "/etc/rc.d", pattern, "*", param); } which is called by "runrc" function in inittab.c static void runrc(struct init_action *a) { if (!a->argv[1] || !a->argv[2]) { ERROR("valid format is rcS \n"); return; } /* proceed even if no init or shutdown scripts run */ if (rcS(a->argv[1], a->argv[2], rcdone)) rcdone(NULL); }