Einen Dienst schreiben kann man mit Delphi.
Ebenfalls kann man mit Delphi die Prozessliste abarbeiten und dort die Details wie CPU-Last, Speicherverbrauch, ... auslesen.
Diese Werte kann man mit Delphi vorübergehend oder dauerhaft speichern.
Delphi bietet auch die Möglichkeit, gespeicherte Daten auszuwerten.
Einen Prozess kann man auch mit Delphimitteln beenden.
Der Start eines Programmes ist mit Delphimitteln ebenfalls möglich.
Damit sollten alle von Dir geforderten Überwachungsmöglichkeiten / -parameter abgedeckt sein, ebenso die Anforderung an das Beenden und Neustarten eines Prozesse.
Aufwand:
1 Tag, um genau zu definieren, was Du mit Deinem Überwachungsprogramm erreichen willst, sowie Recherche nach den entsprechenden Funktionen, Sourcen, ...
(Die JCL/JVCL enthalten dazu eine Menge in ihren Sourcen)
Eventuell könnte aber auch
Windows Management Instrumentation (WMI) /
Common Information Model (CIM) eine Alternative zur Auswertung der erforderlichen Parameter (systemweit im ganzen Netzwerk) sein. Hier hab' ich aber keine wirkliche Erfahrung, so dass ich den dort erforderlichen Aufwand nicht abschätzen kann. Prinzipiell ist das aber auch eine, mit Delphimitteln umsetzbare, Lösungsmöglichkeit.
1 Tag zur Implementierung.
1 Tag, um die Implementierung rudimentär zu Testen und ggfls. Fehler zu beseitigen.
Danach kann es in den automatisierten Test und dann in die Produktion gehen.
Sollte (für meine Begriffe) aber realisierbar sein.
(Voraussetzung, Du hast diese drei Tage wirklich ausschließlich für diesen "Job", als "Nebenschauplatz" wird's vermutlich etwas länger dauern.)
Wir hatten uns so etwas auch mal überlegt, haben es aber gelassen. Wenn man seiner eigenen Software nicht mehr so weit vertraut, dass sie alleine vernünftig laufen kann und es zum Normalzustand wird, die Software aus und wieder einzuschalten weil irgendetwas nicht geht, oder nicht so, wie es normalerweise sollte- Dann läuft da etwas ganz grundlegend falsch. Übertrag das doch mal auf ein anderes Konzept aus dem täglichen Leben zum anfassen - Hätten wir gerne, das Heizanlagen, Autos oder die Kasse am Supermarkt sich ebenso verhält?
Prinzipiell hast Du recht, aber als Admin musste ich über Jahre hinweg nicht zur den stabilen "Dauerlauf" unserer eigenen Software sicherstellen, sondern auch den von Fremdsoftware (auch bekannter, großer, weltweit aggierender Softwarehersteller). Und die Erfahrung war: Da läuft im Dauerbetrieb nicht alles immer so stabil, wie es meist den Anschein hat oder man es von professioneller Software erwarten würde.
Und da war ein Dienst, der das alles überwachte (über mehrere Rechner im Netzwerk hinweg) und bei Fehlern entsprechend meldete, durchaus hilfreich. 'nen automatischen Neustart von Software oder gar Rechner, hab' ich damals aber nicht implementiert.