<syscall>Ciao,
provo a dirti la mia visto che non ti ha risposto nessuno.
Potresti usare il modulo
subprocess, dai un'occhiata qui
http://robyp.x10host.com/subprocess.html
Quello che in bash mi viene in mente per l'identificazione (ed evitare quindi con
kill pidof di killare tutti i processi uguali (in quanto
pidof restituisce il pid a partire dal nome)) e' questo:
Codice:
kill `ps ux | grep '[n]ome_processo' | awk '{print $2}'`
greppi
nome_processo (usi il carattere jolly
[] per evitare di greppare anche il grep stesso, scusa il gioco di parole), leggi il
pid relativo (colonna 2 su
ps) usando
awk e, attraverso la sostituzione di comando, apice inverso " ` " oppure
$(), assegni il risultato ad un altro comando, in questo caso
kill
Questo al fine di evitare di memorizzare il pid in una variabile per poi eseguire
kill $variabile
Ti ho fatto l'esempio in bash poiche il modulo subprocess ti permette di eseguire comandi esterni usando
call()
Magari ci sara' un modo piu' semplice, con python in genere ti puoi semplificare la vita, pero' non saprei consigliarti dell'altro : >
Se non riesci a risolvere in altro modo quindi prova a dare un'occhiata, se puo' esserti utile dai una letturina anche a questa discussione
[Risolto]Eseguire comandi da script phython - leggi anche qui
https://docs.python.org/3/library/subprocess.html
Nota se lanci i processi in backgrond (&): Se il processo da killare e' l'ultimo lanciato potresti usare anche la variabile speciale
$! per identificarlo. Se conosci invece l'identificativo del processo in background (lo trovi con
jobs) potresti usare
kill %id_processo
o/</syscall>