Wenn Du wirklich durchsteigen willst, sei Dir ein Ausflug ins Dateisystem /proc und seine Dokumentation angeraten.
Ein Elternprozeß hat eine PID, die jeder Kindprozeß als PPID (Parent-ProzeßID) erhält. Wird ein Elternprozeß vor einem seiner Kinder beendet, ist der Prozeßbaum (der mit "ps -auwxf | less" angezeigt werden kann) gestört. Daher wird der Prozeß an init gehängt, welcher ihn alsbald beendet.
Soll ein Prozeß sich selbst in den Hintergrund setzen, so muß er sich fork()en und sauber von seinem controlling TTY (kontrollierendem Terminal) abkoppeln. Hernach killt er seinen Elternprozeß (this might be illegal in Tennessee) und darf neben dem Init-Prozeß weiterleben. Zum Thema "Linux daemon programming" liefert Dir google.de sicher ein Beispiel in $Your_ProgLang - ich bevorzuge Perl, C, C++ und Assembler.
Der nice-Wert eines Prozesses definiert, welche Priorität er vom Kernel zugewiesen bekommt. Du solltest extrem vorsichtig sein, wenn Du damit rumspielst. Trotzdem braucht wohl jeder mal den Systemhänger, weil "renice -20 kmp3" erfolgreich war. :-)
Viel Spaß