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