Individuare ed estrarre il PID di un programma
Da Gambas-it.org - Wikipedia.
Versione del 13 mar 2012 alle 18:25 di Vuott (Discussione | contributi)
L'argomento in questione tratta di come cercare, individuare e raccogliere il PID di un programma{1}, che non sia stato lanciato dal programma principale .gambas con process.
Mostremo la soluzione più breve con il comando bash: pgrep -f -l nome_programma, facendo l'esempio di terminare alla fine un determinato programma precedentemente aperto.
Public Sub Form_Open() Dim index As String Dim sotto$ As String[] ' Otteniamo il PID dei processo (programma) aperto: Exec ["pgrep", "-f", "-l", "nome_programma"] Wait To index ' Suddividiamo la stringa, restituita da "pgrep" in tante sotto-stringhe, ' riempiendole con i singoli caratteri o con le parole diversi dagli spazi vuoti: sotto$ = Split(Trim$(index), " ") ' Poiché la prima parola, restituita da "pgrep", è proprio il numero del PID del programma, ' andiamo a leggere la prima sotto-stringa dell'array. Qui è contenuto il PID del programma: Print sotto$[0] ' Quindi chiudiamo il processo (programma) aperto, che volevamo terminare: Shell "kill " & sotto$[0] End
Note
[1] Attenzione ! L'intento è quello di ottenere il PID del programma in quanto processo, non della finestra del programma !