2015-12-18 17 views
8

Ho un programma che sta lanciando ChromeDrivers, che lancia Chrome browser + tentativi successivi di chiudere entrambi dopo aver eseguito qualche attività (utilizzando Selenium). Ma spesso il mio programma non può uccidere il browser ChromeDriver/Chrome. Quando provo ad uccidere ChromeDriver, il browser Chrome + tutti i suoi altri processi figli non vengono eliminati.Come ottenere tutti i processi in un display da Xvfb?

Ho cercato di esaminare/proc/x/environ per determinare se è possibile estrarre il DISPLAY del processo, ma ho rilevato che nessuna variabile d'ambiente è stata impostata per i processi browser + figlio.

C'è un altro modo per rilevare tutti i processi in uno specifico display Xvfb e ucciderli tutti?

+0

Ciao, ti invitiamo a condividere il codice in modo che possiamo avere uno sguardo al problema. – Shah

+0

Questo non è pertinente alla domanda che viene posta. – Ben

+0

Se ho capito bene, vuoi eliminare tutte le istanze del driver dopo aver finito con il tuo compito? – Shah

risposta

1

Questo sembra abbastanza promettente se si dispone di un solo processo figlio:

xvfb-run sleep 60 & 
pid_xvfb=$! 
kill $(ps -o pid= --ppid $pid_xvfb) 
Problemi correlati