Differenze tra le versioni di "Individuare ed estrarre il PID di un programma"

Da Gambas-it.org - Wikipedia.
Riga 14: Riga 14:
 
     sotto$ = Split(Trim$(index), " ")
 
     sotto$ = Split(Trim$(index), " ")
 
   
 
   
  <FONT color=#006400>' ''Poiché la <SPAN style:"text-decoration=underline">prima</span> parola, restituita da "pgrep", è proprio il numero del PID del programma,''
+
  <FONT color=#006400>' ''Poiché la <SPAN style="text-decoration: underline">prima</span> parola, restituita da "pgrep", è proprio il numero del PID del programma,''
  ' ''andiamo a leggere il contenuto della <SPAN style:"text-decoration=underline">prima</span> sotto-stringa dell'array:''</font>
+
  ' ''andiamo a leggere il contenuto della <SPAN style="text-decoration: underline">prima</span> sotto-stringa dell'array:''</font>
 
     Print sotto$[0]
 
     Print sotto$[0]
 
   
 
   
Riga 26: Riga 26:
  
 
==Note==
 
==Note==
[1] Attenzione ! L'intento è quello di ottenere il PID del programma in quanto ''processo'', <SPAN style:"text-decoration=underline">non</span> della ''finestra'' del programma !
+
[1] Attenzione ! L'intento è quello di ottenere il PID del programma in quanto ''processo'', <SPAN style="text-decoration: underline">non</span> della ''finestra'' del programma !

Versione delle 16:45, 13 mar 2012

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 il contenuto della prima sotto-stringa dell'array:
   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 !