Демон-процесс двойного разветвления, как ключевой момент демонизации себя, поэтому PID, который имеет родительский процесс, не имеет значения (он исчезает очень скоро после запуска дочернего процесса).
Следовательно, процесс-демон должен записать свой PID в файл в «известном месте», где по соглашению родительский процесс знает, откуда его читать; с этим (традиционным) подходом родительский процесс, если он хочет действовать как перезапускающий сторожевой таймер, может просто прочитать PID процесса демона из хорошо известного местоположения и периодически проверять, жив ли демон, и перезапускать его при необходимости.
Конечно, нужно немного позаботиться об исполнении («устаревший» PID будет некоторое время оставаться в файле «хорошо известного местоположения», и родитель должен это учитывать), и есть возможные варианты (демон может испустить «сердцебиение», чтобы родитель мог обнаружить не только мертвые демоны, но и тех, которые «застряли навсегда», например, из-за тупика, так как они перестали выдавать «сердцебиение» [[через UDP-трансляцию или тому подобное]] - и т. д.), но это общая идея.