windows/linux?
ich geh mal davon aus das es ein windows server ist..
nun, am einfachsten wird es wohl sein wenn du den prozess als service startest, und dann "restart on failure" einschaltest:
http://www.project-open.org/images/shots/po-services-recovery-dialog.gifeinfach mal google anwerfen und schaun wie man einen normalen prozess als service startet, und dann vlt auf der website von microsoft mal die doku über service handling durchlesen..
ansonsten würde ich für sowas eine batch/WScript schreiben, C wäre ein bissel overhead für so ein kleinkram..
aber wenn dus in C schreiben willst, schau dir mal diese links an:
http://msdn.microsoft.com/en-us/library/ms684834%28VS.85%29.aspxhttp://msdn.microsoft.com/en-us/library/ms682629%28VS.85%29.aspx (vlt besser geeignet)
http://msdn.microsoft.com/en-us/library/bb762153%28VS.85%29.aspxdas is im prinzip alles was du brauchst..
mit EnumProcesses() schaust du einfach ob dein prozess noch am laufen ist, und wenn er nicht mehr läuft via ShellExecute() neu starten...