Differenze tra le versioni di "Terminare automaticamente un Processo dopo un periodo di tempo dalla sua apertura con Process"
Da Gambas-it.org - Wikipedia.
(Creata pagina con "Per far terminare un Processo dopo un periodo di tempo dalla sua apertura con ''Process'', possiamo utilizzare un Oggetto [https://gambaswiki.org/wiki/comp/gb/timer?l=it Timer...") |
|||
Riga 1: | Riga 1: | ||
Per far terminare un Processo dopo un periodo di tempo dalla sua apertura con ''Process'', possiamo utilizzare un Oggetto [https://gambaswiki.org/wiki/comp/gb/timer?l=it Timer]. | Per far terminare un Processo dopo un periodo di tempo dalla sua apertura con ''Process'', possiamo utilizzare un Oggetto [https://gambaswiki.org/wiki/comp/gb/timer?l=it Timer]. | ||
− | <BR>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. | + | <BR>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": | Mostriamo un esempio pratico con applicazione a "riga di comando": | ||
Riga 6: | Riga 6: | ||
Private pr As Process | Private pr As Process | ||
− | + | Public Sub Main() | |
<FONT Color=gray>' ''Apre il programma della calcolatrice di gnome e ne gestisce il processo:''</font> | <FONT Color=gray>' ''Apre il programma della calcolatrice di gnome e ne gestisce il processo:''</font> | ||
pr = Shell "gnome-calculator" As "Processo" | pr = Shell "gnome-calculator" As "Processo" | ||
− | <FONT Color=gray>' ''Crea un Timer e ne imposta il ritardo a | + | <FONT Color=gray>' ''Crea un Timer e ne imposta il ritardo a 7000 millisecondi:''</font> |
With tempus = New Timer As "Tempus" | With tempus = New Timer As "Tempus" | ||
− | .Delay = | + | .Delay = 7000 |
.Start | .Start | ||
End With | End With | ||
− | + | End | |
− | + | ||
+ | Public Sub Tempus_Timer() | ||
<FONT Color=gray>' ''Termina il processo del programma "gnome_calculator":''</font> | <FONT Color=gray>' ''Termina il processo del programma "gnome_calculator":''</font> | ||
pr.Kill | pr.Kill | ||
− | + | End | |
+ | |||
− | + | Public Sub Processo_Kill() <FONT Color=gray>' ''Questo Evento viene sollevato, quando il processo viene terminato''</font> | |
Print "Processo "; pr.Id; " terminato !" | Print "Processo "; pr.Id; " terminato !" | ||
Riga 33: | Riga 35: | ||
tempus.Stop | tempus.Stop | ||
− | + | End |
Versione attuale delle 16:43, 11 lug 2023
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