Wenn es darum geht, das Du ein ganz bestimmtes Programm überwachen willst, seh´ ich keine größeren Probleme.
Schwieriger stell ich mir vor, wenn jedes "abgestürzte" Programm neu gestartet werden soll.
Zum Einen wüsste ich jetzt nicht, wie man den Absturz eines beliebigen Programms erkennen sollte (evtl durch überwachen von crash.logs).
Zum Andern muss man, glaube ich, unterscheiden, ob es sich um ein grafisches Programm oder eins auf der Kommandozeile handelt.
Vielleicht kannst Du mal genauer erläutern, worum es Dir geht.