19/05/2023: A causa di un errore sono stati cancellati, insieme ad account creati da bot, alcuni account legittimi. Si prega di leggere qui: https://www.gambas-it.org/smf/index.php?topic=9733.0
#!/bin/bash#beware 0 if not running, 1 if one is running, 2 or more if more are runningrecorder_running=$(ps aux | grep gbr3 | grep recorder | wc -l);# grep gbr3 estrae tutte le applicazioni interpretate da gambas3 runtime ...# il grep successivo estrae quella specifica (in questo caso il recorder)echo $recorder_running;if [ "$recorder_running" -gt "0" ]; then echo 'recorder is running ok'; #agite di conseguenza else echo 'recorder is NOT running!'; #agite di conseguenzafi;
... i metodi "standard" che cercano il PID dell'applicazione non funzionano, perche' in realta' l'applicativo gambas e' interpretato ed i pid restituiti sono quelli dell'inteprete "gbr3".
Private Const NOME_ESEGUIBILE As String = "nome_del_programma_eseguibile.gambas"Public Sub Main() Dim tm As Date tm = Now' Verifica se esiste il file sistema "cmdline" del processo dell'eseguibile di cui verificare l'attività: While Exist("/proc" &/ CStr(7041) &/ "cmdline") ' Se il predetto file di sistema "cmdline" esiste, allora vuol dire che l'eseguibile .gambas è ancora attivo: Write "\r\e[32mL'applicazione " & Quote(NOME_ESEGUIBILE) & " ancora attiva. " & Str(Time(0, 0, 0, DateDiff(tm, Now, gb.Millisecond))) Wend Write "\r\e[31mL'applicazione " & Quote(NOME_ESEGUIBILE) & " non è più attiva !\e[0m "End