Differenze tra le versioni di "Individuare ed estrarre il PID di un programma"
Da Gambas-it.org - Wikipedia.
(Nuova pagina: L'argomento in questione tratta di come cercare, individuare e raccogliere il PID di un programma{1}, non lanciato dal programma .gambas con ''process''. <BR>Daremo la soluzi...) |
|||
Riga 1: | Riga 1: | ||
− | L'argomento in questione tratta di come cercare, individuare e raccogliere il PID di un programma{[[#Note|1]]}, non lanciato dal programma .gambas con ''process''. | + | L'argomento in questione tratta di come cercare, individuare e raccogliere il PID di un programma{[[#Note|1]]}, che non sia stato lanciato dal programma principale .gambas con ''process''. |
− | <BR> | + | <BR>Mostrremo la soluzione più breve con il comando bash: ''pgrep -f -l nome_programma''. |
− | |||
− | |||
'''Public''' Sub Form_Open() | '''Public''' Sub Form_Open() | ||
− | + | Dim index As String | |
− | + | Dim sotto$ As String[] | |
− | |||
− | |||
− | |||
− | |||
− | + | <FONT color=#006400>' ''Otteniamo il PID dei processo (programma) aperto:''</font> | |
− | + | Exec ["pgrep", "-f", "-l", "nome_programma"] Wait To index | |
− | |||
− | |||
− | |||
− | <FONT color=#006400>' '' | + | <FONT color=#006400>' ''Suddividiamo la stringa, restituita da "pgrep" in tante sotto-stringhe,'' |
− | + | ' ''riempiendole con i singoli caratteri o con le parole diversi dagli spazi vuoti:''</font> | |
+ | sotto$ = Split(Trim$(index), " ") | ||
− | <FONT color=#006400>' '' | + | <FONT color=#006400>' ''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:''</font> |
− | + | Print sotto$[0] | |
− | |||
− | |||
− | |||
− | |||
− | + | <FONT color=#006400>' ''Quindi chiudiamo il processo (programma) aperto, che volevamo terminare:''</font> | |
− | + | Shell "kill " & sotto$[0] | |
− | |||
'''End''' | '''End''' | ||
+ | |||
==Note== | ==Note== | ||
− | [1] Attenzione ! L'intento è quello di ottenere il PID del programma in quanto ''processo'', non 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:39, 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.
Mostrremo la soluzione più breve con il comando bash: pgrep -f -l nome_programma.
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 !