Un processo che lavora in background in sostanza è un processo figlio della shell dove il padre (la shell) non rimane in attesa della terminazione del figlio.

Nel tuo caso, quindi, dovresti avere un programma che effettua la fork() e poi termina, lasciando il processo figlio in esecuzione.

In pratica, non devi eseguire la waitpid()


Ciao.