Io ho provato a fare così:
file padre: "father.start.bat"
echo "hi, I'm father process"
start "pippo" prova.start.bat
choice /n /t:y,5
taskkill /FI "windowtitle eq pippo" /IM cmd.exe /F
file figlio: "prova.start.bat"
echo "hello I'm prova start"
choice /n /t:y,100
echo "non interrotto"
Cosa dovrebbe succedere:
Il file padre dopo essersi presentato (...lo so..triste idea...va bè...), lancia il file figlio in una nuova finestra di titolo "pippo" e attende 5 secondi dopo di che dovrebbe uccidere il processo figlio. Come puoi vedere ho utilizzato il nome immagine cmd.exe e per distinguere il padre dal figlio ho coinvolto come discriminante il filtro (opzione di taskkill "/FI") "windowtitle":
questo perchè voglio che il padre continui a lavorare e che solo il figlio venga interrotto!!!!
Il processo figlio da parte sua, fa ben poco....in pratica aspetta 100 secondi in modo che quando il padre lo uccide, è ancora in esecuzione.
Quindi in pratica mi aspettavo che:
1- il padre fa partire il figlio aprendo una nuova finestra del prompt
2- dopo cinque secondi il padre termina il processo corrispondente al figlio
Cosa succede invece:
1- il padre fa partire il figlio in nuova finestra intitolata "pippo"
2- il figlioresta in attesa come previsto
3- il padre, dopo cinque minuti dal lancio, esegue il comando taskkill che prontamente dà un errore: cioè non riconosce un processo col titolo di finestra uguale a "pippo"....eppure me la vedo davanti al naso!!!....bho...
Se non metto il filtro vengono terminati tutti i processi cmd.exe (qundi sia padre che figlio e non va bene, perchèil padre deve contenere poi altre istruzioni successive.....)
Se hai idee fammi sapere. Arrisentirci e grazie della disponibilità.