Lancer un logiciel en boucle avec un batch
Fermé
ShiningLink
Messages postés
48
Date d'inscription
lundi 16 janvier 2012
Statut
Membre
Dernière intervention
3 juin 2020
-
11 avril 2013 à 14:36
ShiningLink Messages postés 48 Date d'inscription lundi 16 janvier 2012 Statut Membre Dernière intervention 3 juin 2020 - 13 avril 2013 à 11:58
ShiningLink Messages postés 48 Date d'inscription lundi 16 janvier 2012 Statut Membre Dernière intervention 3 juin 2020 - 13 avril 2013 à 11:58
A voir également:
- Lancer un logiciel en boucle avec un batch
- Money logiciel - Télécharger - Comptabilité & Facturation
- Logiciel montage vidéo gratuit windows 10 - Guide
- Logiciel benchmark - Guide
- Logiciel spss - Télécharger - Outils professionnels
- Logiciel de sauvegarde - Guide
1 réponse
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
11 avril 2013 à 16:00
11 avril 2013 à 16:00
hello
essayer avec
essayer avec
start /wait matlabsinon dans le script, à la fin, exécuter une commande qui tue matlab ?
11 avril 2013 à 20:18
En fait j'ai déjà essayé la commande "start /wait ..."
ça fonctionne très bien avec Excel, mais bizarrement pas avec Matlab.
En gros, j'ai essayé ce script :
start /wait excel.exe
start /wait excel.exe
Dans ce cas, une instance excel s'ouvre, je peux faire ce que je veux avec, et au moment où je la ferme, une seconde instance s'ouvre. C'est exactement ce que je veux.
Après, j'ai essayé ça :
start /wait matlab.exe
start /wait matlab.exe
Et là, sans aucune raison, 2 instances matlab se lancent simultanément....
Sinon je ne vois pas trop pourquoi kill le processus matlab.exe à la fin du batch, le but étant surtout de m'assurer que l'instance en cours ait fini son script avant qu'une autre se lance : /
Modifié par dubcek le 12/04/2013 à 08:26
12 avril 2013 à 09:42
Si effectivement il y a une commande ('exit') qui pemet de fermer matlab à la fin de l'exécution du script, mais encore une fois, ça n'est pas mon problème... Je veux m'assurer que la seconde instance Matlab ne se lance qu'une fois la première fermée, car tout est un problème de RAM. Si les 2 instances se lancent en même temps, la RAM disponible sera divisée par 2 et mes 2 instances Matlab seront "out of memory"...
12 avril 2013 à 09:50
sinon vérififer avec tasklist si il tourne et le tuer avec taskkill
13 avril 2013 à 11:58
Finalement, à défaut de mieux, j'ai utilisé cette méthode trouvée ici :
https://www.mathworks.com/matlabcentral/answers/5982-batch-files-and-matlab-sequential-execution-and-start-wait
L'idée est d'avoir une instance matlab qui tourne en permanence, et qui va appeler séquentiellement des batch, qui eux même vont appeler une seule instance matlab.
Entre chaque appel de batch, j'évalue périodiquement le nombre d'instances matlab lancée dans le task manager ([r,s] = system('tasklist /FI "imagename eq matlab.exe" /fo table /nh').
Je suis toujours preneur d'un moyen plus propre de réaliser tout ça :)