Also nicht reagiert heißt nicht, dass das Programm abgestürtzt ist, von daher müsstest du höchstens das über Timeouts lösen.
Im Falle eines Absturzes würde ich die gestartete Anwendung einfach debuggen und kucken, ob es zu einer unbehandelten
Exception im Prozess gekommen ist.. Falls ja, erwürgen!