Prozess mit von .bat unterbrechen

Ikebana

Lieutenant
Registriert
Aug. 2008
Beiträge
674
Hallo,

ich hab hier mit einem älteren DOS Programm ein Problem. Das Programm ist in Clipper geschrieben und etwa seit etwa 10 Jahren final. (Programmierbeginn anfang 90er)

Wenn man es startet schnellt die CPU-Auslastung in 1 Sek auf 100% und der Rechner ist unbenutzbar. Ich denke dass im Programm eine Endlosschleife durchlaufen wird. Aus java und/oder C kenne ich das Problem indem man eben einer Timer oder eine sleep Anweisung sagt, die das Programm 100ms oder so zu unterbrechen.

Kann man doch sicher mit einer .bat lösen die den Prozess unterbricht.

Hat da wer eine Idee?

vielen dank schon mal im Vorraus
 
Unterbrechen für ne bestimmte zeit, Das Programm soll ja weiterlaufen und nicht gekillt werden
 
Ne, das wird nicht gehen. Du musst der CPU dynamisch CPUZeit zuteilen, das kannst du mit einer Batch-Datei nicht erledigen. Ich bin mir unsicher, ob das mit irgendwelchen Tools überhaupt möglich ist. Im worst case müsst ihr halt alle paar ms den Prozess pausieren und fortsetzen… nuja. Am Einfachsten wäre es das Programm selbst umzuschreiben.
 
Für dich ist vielleicht das Kommando "start" interessant. Mit dem Parameter /LOW wird der Prozess mit IDLE Priorität betrieben, der Rechner bleibt dadurch benutzbar.
 
Danke für die Hilfe,

anscheinend gibts in Clipper selbs nen WAIT Befehl der auf ne Tastatureingabe wartet. Mit dem müsste es funktionieren.
 
Ich verstehe deinen Ansatz nicht ganz. Nehmen wir mal an, daß Programm befindet sich wirklich in einer Endlosschleife. In wie fern ist dir geholfen, wenn du das Programm (wie auch immer du das anstellst) periodisch unterbrichst? Die Endlosschleife wird damit immer noch eine Endlosschleife bleiben, oder?

Ich vermute eher, daß beim dem Programm nicht auf Portabilität geachtet worden ist. Das heißt, es sind im Code einfach irgend welche Annahmen getroffen worden, die auf den Rechnern von damals auch zutrafen, die aber heute nicht mehr erfüllt sind, und das Programm verläuft sich somit im Wald.
 
Zurück
Oben