Bonjour à tous,
Je cherche la commande me permettant de vérifier l'état d'un programme.
Autrement dit, je souhaite réaliser une boucle qui teste si un programme est en cours d'exécution ou pas.
Je vous remercie par avance pour votre aide.
Bonjour à tous,
Je cherche la commande me permettant de vérifier l'état d'un programme.
Autrement dit, je souhaite réaliser une boucle qui teste si un programme est en cours d'exécution ou pas.
Je vous remercie par avance pour votre aide.
Quel programme ?
Un code MATLAB ou un programme externe ?
Ingénieur indépendant en mécatronique - Conseil, conception et formation
- Conception mécanique (Autodesk Fusion 360)
- Impression 3D (Ultimaker)
- Développement informatique (Python, MATLAB, C)
- Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)
« J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)
Je suppose que tu travailles sous Windows.
Dans ce cas, tu peux utiliser la commande Tasklist :
Un exemple qui nécessite quelques améliorations :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 >> [s,message] = dos('tasklist /nh /fi "imagename eq MATLAB.exe"') s = 0 message = MATLAB.exe 2656 Console 1 259ÿ452 Ko >> strfind(message,'MATLAB.exe') ans = 2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 proc = 'notepad.exe'; dos([proc ' &']); idx = 1; cmd = sprintf('tasklist /nh /fi "imagename eq %s"',proc); while idx [s,message] = dos(cmd); idx = strfind(message,proc); fprintf('\nProcess %s en cours\n',proc) end fprintf('\nProcess %s fini\n',proc)
Ingénieur indépendant en mécatronique - Conseil, conception et formation
- Conception mécanique (Autodesk Fusion 360)
- Impression 3D (Ultimaker)
- Développement informatique (Python, MATLAB, C)
- Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)
« J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)
Je te remercie dut, c'est exactement ça.
Je connaissais la commande taskList mais ne savais pas trop comment l'implémenter.
En effet, je suis sous Windows.
Merci encore.
Bon, j'ai parlé un peu vite...
J'ai une erreur :
Une idée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 >> [s,message] = dos('tasklist /nh /fi "imagename eq MATLAB.exe"') s = 1 message = Erreur : Classe non enregistre.
Ce n'est plus une question en rapport avec MATLAB.
Pose ta question dans un des forums Windows (en mettant un lien vers cette discussion)
A tout hasard : ERROR: Class not registered when running Tasklist.exe
Sinon une autre façon de faire avec Tasklist en s'inspirant de la FAQ :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 s = dos('tasklist | findstr /c:MATLAB.exe > NUL'); if s==0 disp('Process found'); else disp('Process not found'); end
Ingénieur indépendant en mécatronique - Conseil, conception et formation
- Conception mécanique (Autodesk Fusion 360)
- Impression 3D (Ultimaker)
- Développement informatique (Python, MATLAB, C)
- Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)
« J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager