Autore Topic: Libreria esterna per conoscere il PID del processo del proprio programma  (Letto 443 volte)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.316
  • Ne mors quidem nos iunget
    • Mostra profilo
Avrei realizzato una libreria esterna, avente nome: libpid.so, richiamabile nelle dovute forme con la funzione Extern, con la quale è possibile conoscere il PID del processo del proprio programma (ossia di quello che sta usando la libreria esterna).

Se mai dovesse essere utile, l'allego qui appresso in un file da decomprimere, che gli iscritti al forum potranno scaricare.

La funzione esterna da richiamare è:  int pid()
e restituisce appunto un valore di tipo Integer.


Facciamo un essenziale esempio pratico.
Decomprimiamo il file compresso che contiene i due file della libreria. Poniamo questi due file nella cartella "Dati" del progetto, poi scriviamo il seguente codice, con il quale otterremo in console il PID del progetto medesimo:
Codice: gambas [Seleziona]

Library "/tmp/libpid"


Public Sub Form_Open()

' Andiamo a caricare i due file della libreria nella cartella /tmp del sistema:
  If Not Exist("/tmp/libpid.so") Then Copy "libpid.so" To "/tmp/libpid.so"
  If Not Exist("/tmp/libpid.so.0.0") Then Copy "libpid.so.0.0" To "/tmp/libpid.so.0.0"

End


' Dichiariamo la funzione esterna contenuta nella libreria .so:
Private Extern pid() As Integer

Public Sub Button1_Click()

  Dim a As Integer
  
' Utilizziamo la funzione esterna presente
' nella libreria "libpid":
    a = pid()
    
    Print a

End


Allego la libreria ed il sorgente completo.
« Ultima modifica: 11 Dicembre 2012, 23:08:37 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Top Fuel

  • Gran Maestro dei Gamberi
  • *****
  • Post: 960
    • Mostra profilo
Re: Libreria esterna per conoscere il PID del processo del proprio programma
« Risposta #1 il: 21 Settembre 2012, 18:53:55 »
Non ci sono i sorgenti, in che linguaggio l'hai scritta?
Dear youtube administrators, your search bar is broken. When I type the letter "J" it appears justin bieber when it should appear Jimi Hendrix. Fix this, please.

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.316
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Libreria esterna per conoscere il PID del processo del proprio programma
« Risposta #2 il: 21 Settembre 2012, 20:34:43 »
...in che linguaggio l'hai scritta?
E' scritta in linguaggio " C ".



Ad ogni modo è possibile ottenere il PID del programma principale più semplicemente usando la funzione di Gambas:
Codice: gambas [Seleziona]

   Application.Handle

 :D
« Ultima modifica: 18 Ottobre 2012, 10:16:32 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »