Terminer le processus en cours d'exécution sans fin dans un fichier de commandes


1

J'essaie de trouver un moyen d'automatiser un processus avec un fichier de commandes.

Le processus enregistre une sortie indéfiniment dans un fichier jusqu'à ce qu'il obtienne une commande break (ctrl + c) via le clavier.

Je n'arrive pas à trouver le moyen de le faire réagir à une pause, car le processus lui-même semble bloquer la fenêtre de commande jusqu'à ce que l'interruption soit présentée.

Effectivement, je souhaite exécuter cette commande pendant 24 heures (ou le plus près possible), l'annuler, déplacer / renommer des fichiers, puis relancer la commande.

Jusqu'à présent j'ai:

e:
md e:\aculogs
cd e:\aculogs
del 14daysago00.txt
ren 13daysago00.txt 14daysago00.txt
ren 12daysago00.txt 13daysago00.txt
ren 11daysago00.txt 12daysago00.txt
ren 10daysago00.txt 11daysago00.txt
ren 9daysago00.txt 10daysago00.txt
ren 8daysago00.txt 9daysago00.txt
ren 7daysago00.txt 8daysago00.txt
ren 6daysago00.txt 7daysago00.txt
ren 5daysago00.txt 6daysago00.txt
ren 4daysago00.txt 5daysago00.txt
ren 3daysago00.txt 4daysago00.txt
ren 2daysago00.txt 3daysago00.txt
ren yesterday00.txt 2daysago00.txt
copy e:\Port00.txt D:\aculogs\yesterday00.txt
del e:\Port00.txt

cd %PROGRAMFILES%\aculab\v6\bin
v6trace -port 188746 0 -trace_high > e:\Port00.txt

Je dois mettre fin à cette dernière commande après un délai aussi proche que possible de 24 heures afin que le planificateur de tâches puisse le relancer immédiatement après. Est-ce que je dépasse les limites de ce que je peux faire dans les fichiers de commandes? Je suis un noob à tout ça ...


1
S'il est lancé par le planificateur de tâches, pourquoi ne pas utiliser l'option "arrêter la tâche si elle est exécutée plus longtemps que ..."?
cʜιᴇ007

Réponses:


0

Le moyen le plus simple de procéder est d’avoir le texte suivant à la ligne 1:

taskkill /im v6trace.exe /f

Cela va tuer l'application v6trace. Vous pouvez ensuite planifier cela via le gestionnaire de tâches Windows pour qu'il s'exécute tous les jours à minuit.

La première chose à faire est de tuer v6trace (la dernière commande en cours d'exécution de la dernière exécution) - en mettant effectivement fin au lot précédent, puis en relançant le processus while.

J'espère que cela t'aides,

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.