|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jun 2003
Messaggi: 15829
|
[MATLAB] Monitoraggio processo in bkg
devo necessariamente monitorare un processo in esecuzione da script Matlab per capire nello specifico quando termina e proseguire con l'esecuzione dello script.
Il problema nasce dal fatto che devo lanciare un programma esterno che però invece di manetene il controllo fino a fine esecuzione restituisce subito il controllo e prosegue in bkg, il problema però è che io da Matlab devo aspettare la fine dell'esecuzione per proseguire con lo script. al momento sto facendo così: Codice:
dos('C:\GHS\adamulti506\simppc.exe -dec -cpu=ppc745 csci.exe');
result = 'simppc_compat.exe';
while ~isempty(strfind(result,'simppc_compat.exe'))
pause(10);
[~, result] = dos('tasklist');
end
pause(10) mi serve perchè 'simppc_compat.exe' non parte all'istante appena lancio il comando 'dos('C:\GHS\...)', ho messo 10 secondi che dovrebbero bastare però mi serve una soluzione migliore nel caso impieghi un tempo maggiore a partire vi viene in mente una soluzione più semplice? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jan 2014
Messaggi: 852
|
Ma simppc_compat.exe viene lanciato da simppc.exe?
Questo simppc.exe è un programma che fai fatto tu? Eventualmente si può modificare? Hai la possibilità di saltare simppc.exe e richiamare direttamente simppc_compat.exe? |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Jun 2003
Messaggi: 15829
|
Quote:
Non posso neanche contattare il produttore del tool per supporto per motivi commerciali. Devo arrangiarmi con quello che ho io, usando il nuovo 'simppc.exe' e Matlab, il pezzo di codice che ho scritto funziona, però non è sicuro che lo faccia sempre Ultima modifica di Simonex84 : 23-04-2015 alle 13:36. |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jan 2014
Messaggi: 852
|
Se hai la possibilità di scrivere un exe puoi sostituire il programma simppc_compat.exe con uno scritto da te che fa 2 cose:
1) richiama il programma simppc_compat.exe originale passando gli stessi parametri che prende in input e ne attende il completamento, recuperando il return code e restituendolo a sua volta; 2) crea un file "semaforo" in un path predefinito. Da matlab dovrai cancellare preventivamente il file "semaforo", richiamare simppc.exe, ed attendere che compaia il file "semaforo". Il simppc_compat.exe originale dovrà essere ovviamente rinominato e lasciato nello stesso path. Questo metodo non funziona sempre, ma nel 99% dei casi va più che bene. |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Jun 2003
Messaggi: 15829
|
Quote:
alla 2 ci avevo già pensato, però volevo evitare di creare file temporanei in giro |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jan 2014
Messaggi: 852
|
Ehm, le due "opzioni" non erano in alternativa, devono essere eseguite entrambe, in quell'ordine
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jun 2003
Messaggi: 15829
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:19.




















