Ve zdrojáku mám na přehrávání zvuku toto:
int pid = fork();
if (pid == 0) {
  int pid2 = fork();
  if (pid2) {
    exit(0);
  } else if (!pid2) {
    execl("/usr/bin/aplay", "aplay", "muzika.wav", (char *) 0);
  } else {
    /* error */
  }
} else {
  int status;
  waitpid(pid, &status, 0);
}
Dvojitým forkováním bych se měl zbavit zombie bez nutnosti čekání na ukončení přehrávání. Většinou to funguje, ale po několika desítkách spuštění zvuku mi zůstalo několik zombee procesů. Ve výpisu ps -a byly pojmenované jako původní proces. Nevíte jakto, že zůstávají a jak se jich zbavit?