Terminare automaticamente un Processo dopo un periodo di tempo dalla sua apertura con Process

Da Gambas-it.org - Wikipedia.

Per far terminare un Processo dopo un periodo di tempo dalla sua apertura con Process, possiamo utilizzare un Oggetto Timer.
Si ottiene l'Oggetto di tipo Processo restituito da SHELL o EXEC, quindi si crea un Timer che si attivi per un determinato periodo di tempo. Passato tale lasso di tempo, il Processo viene interrotto nel gestore Eventi "_Timer()" del Timer. Infine il Timer viene interrotto, non essendo più utile.

Mostriamo un esempio pratico con applicazione a "riga di comando":

Private tempus As Timer
Private pr As Process

Public Sub Main()

' Apre il programma della calcolatrice di gnome e ne gestisce il processo:
 pr = Shell "gnome-calculator" As "Processo"
  
' Crea un Timer e ne imposta il ritardo a 7000 millisecondi:
 With tempus = New Timer As "Tempus"
   .Delay = 7000
   .Start
 End With

End


Public Sub Tempus_Timer()
 
' Termina il processo del programma "gnome_calculator":
 pr.Kill

End


Public Sub Processo_Kill()   ' Questo Evento viene sollevato, quando il processo viene terminato

 Print "Processo "; pr.Id; " terminato !"

' Si arresta il Timer, ottenedo così anche la chiusura dell'applicazione Gambas:
 tempus.Stop

End