execv を呼び出すプロセスを強制終了するにはどうすればいいですか?

execv を呼び出すプロセスを強制終了するにはどうすればいいですか?

呼び出すプロセスexecvどうやら、計画通り、死なないようです。

引用例ここ:

#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>

main() {
   pid_t pid;
   char *const parmList[] = {"/bin/ls", "-l", "/u/userid/dirname", NULL};

   if ((pid = fork()) == -1)
      perror("fork error");
   else if (pid == 0) {
      execv("/bin/ls", parmList);
      printf("Return not expected. Must be an execv error.n");
   }
}

その実行可能ファイルを呼び出す場合foo、起動後に foo を強制終了するにはどうすればよいでしょうか? 唯一の選択肢は、親プロセス ID をキャプチャしてそれを強制終了することのようです。

foo &
echo $! > /path/to/foo_pid
kill /path/to/foo_pid

しかし、親プロセスの PID を取得する方法がありません。

関連情報