Batch - Restart automatiq d'1 program bugué
Résolu
loudgi
Messages postés
538
Statut
Membre
-
loudgi Messages postés 538 Statut Membre -
loudgi Messages postés 538 Statut Membre -
Bonjour,
Je situe le contexte.
J'ai un Windows serveur 2003 dans une association qui diffuse des flux audio via winamp (couplé de son plugin DSP) sur un serveur de diffusion (shoucast).
Cette association possède un connexion ADSL de 512 donc déconnexion toutes les 24h.
Le problème c'est qu'à chaque déconnexion winamp 'plante' et freez, il faut donc que je termine le processus manuellement pour le redémarrer par la suite.
J'aimerais automatiser cette tâche par l'intermédiaire d'un script Batch que je placerais en tâche planifié.
Voici ce que j'ai déjà commencé mais visiblement ne fonctionne pas.
Je situe le contexte.
J'ai un Windows serveur 2003 dans une association qui diffuse des flux audio via winamp (couplé de son plugin DSP) sur un serveur de diffusion (shoucast).
Cette association possède un connexion ADSL de 512 donc déconnexion toutes les 24h.
Le problème c'est qu'à chaque déconnexion winamp 'plante' et freez, il faut donc que je termine le processus manuellement pour le redémarrer par la suite.
J'aimerais automatiser cette tâche par l'intermédiaire d'un script Batch que je placerais en tâche planifié.
Voici ce que j'ai déjà commencé mais visiblement ne fonctionne pas.
@echo off set process=winamp pslist %process% if %ERRORLEVEL% == 1 start /B %process%
A voir également:
- Batch - Restart automatiq d'1 program bugué
- Fichier batch - Guide
- Program files - Forum Jeux vidéo
- Invalid configuration information please run setup program ✓ - Forum Windows XP
- Device harddiskvolume3 program files bonjour mdnsnsp.dll - Forum Virus
- Fichier bonjour dans program files - Forum Logiciels
15 réponses
Ok merci, je vais essayer et je te tiens au courant.
Allé bon courage et @+
www.google.fr c'est ta copine !
Allé bon courage et @+
www.google.fr c'est ta copine !
peut-être que quand Winamp plante, il reste en mémoire et pslist le voit toujours présent. il faudrait afficher des details avec pslist -d ou peut-être le tuer d'abord avec taskkill puis le relancer.
La dernière modif ne fonctionne pas à savoir :
Oui, c'est ce que je souhaite faire, kill le processus pour le relancer.
Comment dois-je faire ?
J'ai un doute la pour :
je pense un peu trop algo la lool
@echo off set process=winamp pslist %process% if %ERRORLEVEL% == GEQ 1 start /B %process%
Oui, c'est ce que je souhaite faire, kill le processus pour le relancer.
Comment dois-je faire ?
@echo off set process=winamp pslist %process% if %ERRORLEVEL% == GEQ 1 TASKKILL /IM winamp.exe And start /B %process% endif
J'ai un doute la pour :
And start /B %process%
je pense un peu trop algo la lool
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
si pslist retourne errorlevel GEQ 1 c'est que winamp ne tourne plus, le taskkill est inutile.
attention au == GEQ, le == est de trop
pslist peut (peut-être) voir winamp même si il est planté (cf post 3),je ferais
attention au == GEQ, le == est de trop
pslist peut (peut-être) voir winamp même si il est planté (cf post 3),je ferais
@echo off set process=winamp TASKKILL /IM %process%.exe start /B %process%
non, ça le tue systématiquement. parce que je ne sais pas ce que rapporte pslist si il est freeze ou pas
sinon essayer tasklist, qui permet de tester le status RUNNING|NOT RESPONDING
sinon essayer tasklist, qui permet de tester le status RUNNING|NOT RESPONDING
Attention, ERRORLEVEL ne prend pas forcément pour valeur 0 ou 1. Sa dépend des commandes que tu envois.
vérifier les valeurs retournées par pslist:
quand winamp tourne
quand winamp est planté, ne répond pas
quand winamp ne tourne pas
pslist winamp echo %errorlevel%
quand winamp tourne
quand winamp est planté, ne répond pas
quand winamp ne tourne pas
Hum, alors j'ai testé la commande "pslist wanamp" sur le WinServ 03 et en fait ça ne fait rien. voici d'où vient le prob :-s mon code est faux.
Alors toujours dans la famille de Task je demande le Kill :-)
J'ai trouvé sur ma copine google :
Ce petit code à pour but de kill tous les progs plantés ou figés.
Maintenant comment l'insérer dans un bon petit code ?
J'ai trouvé sur ma copine google :
taskkill /f /fi "status eq not responding"
Ce petit code à pour but de kill tous les progs plantés ou figés.
Maintenant comment l'insérer dans un bon petit code ?
OK, donc voila mn new code que je vais tester.
Il me reste juste à déterminer mon test déclencheur.
Une petite aide ?
Allé bon courage et @+
www.google.fr c'est ta copine !
Il me reste juste à déterminer mon test déclencheur.
Une petite aide ?
@echo off echo Verification etat WEBRADIO if errorlevel 1 goto prob if errorlevel 0 goto noprob :noprob echo iMPEC tout fonctionne... goto fin :prob echo Il y a un probleme echo Restart de Winamp taskkill /im winamp.exe /f /fi "status eq not responding" start /B winamp.exe goto fin :fin exit
Allé bon courage et @+
www.google.fr c'est ta copine !
je ferais quelque chose comme ça, je ne peux pas tester, je n'ai pas tasklist ni taskkill
@echo off echo Verification etat WEBRADIO tasklist /fi "Imagename eq winamp.exe" /fi "Status eq RUNNING | findstr "winamp" if %errorlevel% EQU 0 ( echo IMPEC tout fonctionne... ) else ( taskkill /im winamp.exe /f /fi "status eq not responding" echo Il y a un probleme echo Restart de Winamp start /B winamp.exe ) rem on vérifie tasklist /fi "Imagename eq winamp.exe"