Individuare ed estrarre il PID di un programma
Da Gambas-it.org - Wikipedia.
Versione del 7 apr 2012 alle 08:17 di Vuott (Discussione | contributi)
L'argomento in questione tratta di come cercare, individuare e raccogliere il PID di un programma esterno{1}.
Caso in cui il programma esterno non sia gestito dal programma.gambas mediante process.
Mostremo la soluzione più breve con il comando bash: pgrep -f nome_programma.
Public Sub Form_Open() Dim index As String Dim sotto$ As String[] ' Otteniamo il PID dei processo (programma) aperto: Shell "pgrep -f nome_programma"] To index ' La variabile index sarà composta da due righe, contenenti caratteri numerali e separate da un ritorno a capo. ' Le andremo a distinguere in due sotto-stringhe distinte: sotto$ = Split(Trim$(index), "\n") ' 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] End
Caso in cui il programma esterno sia stato lanciato dal nostro programma.gambas e sia gestito mediante process.
Private hp As Process pid As Integer Public Sub Button1_Click() hp = Shell "nome_programma" ' Il numero del PID, ottenuto con il metodo " .Id" di Process, ' di un programma esterno gestito mediante "process", è uguale al numero del PID + 1 : pid = hp.Id + 1 Print pid End
Note
[1] Attenzione ! L'intento è quello di ottenere il PID del programma in quanto processo, non della finestra del programma !