RASPBERRY PROGRAMMA/I IN BACKGROUND + altre funzioni . *4*

SE STATE USANDO UN RASPBERRY COME SERVER O PER GESTIRE RADIO, PONTI RADIO O SERVER SDR , VI SARETE IMBATUTTI NEL DOVER ESEGUIRE UN PROGRAMMA DA REMOTO TRAMITE SSH E LASCIARLO IN ESECUZIONE ANCHE SE CHIUDIAMOIL TERMINALE .

Il comando da utilizzare è “nohup ***** &” dove *** è il comando o programma da avviare ed ovviamente le “” non vanno trascritte.

Vi mostro come l’ho usato per avviare il mio server radio SDR tramite SSH.

Il comando che ho usato è :

“nohup rtl_tcp -a 192.168.1.50 &”

(il programma che ho lanciato ovviamente è “rtl_tcp -a 192.168.1.50” il resto è del comando nohup)

vedi :

ADESSO IL PROGRAMMA E’ IN ESECUZIONE MA NON LO VEDIAMO E ABBIAMO IL TERMINALE LIBERO PER ALTRE FUNZIONI E IN PIU’ POSSIAMO CHIUDERLO LASCIANDO IN ESECUZIONE IL PROGRAMMA CHE CONTINUERA’ A GIRARE FINO AL SUO TERMINE O AD UNA NOSTRA FORZATURA.

COME POSSIAMO VEDERE I PROGRAMMI IN ESECUZIONE (BACKGROUND) ED ARRESTARLI ?

Dopo aver lanciato il programma e lasciato in esecuzione in background potresti aver bisogno di controllare se è ancora in esecuzione e magari arrestarlo.

Usando il comando “ps” ovvero ” process status” vi mostrerà un elenco di processi in esecuzione in quel momento con relativo ID/PID che userete per arrestare il programma.

Se usiamo il comando senza nessun opzione, ci mostrerà i programmi gestiti dal nostro utente e in quella sessione del terminale, perciò se il lavoro è stato lanciato da un altro utente o/e da un altra sessione magari chiusa nel tempo non potremmo visualizzare i lavori attivi.

le opzioni utili :

Come probabilmente gia sapete la sintassi è “comando -opzione”

  • ax mostra i processi relativi a tutti gli utenti (-a) ed anche non controllati dl terminale (-x);
  • aux identico ad ax ma permette di visualizzare anche le user (-u) degli utenti a cui appartengono i processi in esecuzione.

Se avete bisogno di impaginare il risultato prodotto e magari dover scorrere avanti e indietro tra la lista dei programmi usate quest’opzione :

“ps -aux |less” oppure “ps -aux |more”

ATTENZIONE : per uscire dall’impaginazione “less” usare la lettera “q” .

Se non siamo interessati a a vedere tutte le liste dei programmi in background andimo a ricercare filtrando per nome usando il comando “grep nomex”.

“ps -aux |grep rtl_tcp”

otterremo come risposta se il lavoro è attivo e i relativi dati.

vedi :

ALTRO COMANDO UTILE PER MONITORARE I PROGRAMI IN ESECUZIONE MA IN MANIERA DINAMICA E’ IL COMANDO “top”

Questo comando diversamente da “ps” restituisce una risposta dinamica ed è possibile usare queste opzioni :

  • k: ferma un processo
  • n: mostra il numero dei processi visualizzati sulla base di una cifra specificata dall’utente
  • u: ordina l’elenco dei processi per utente
  • P: ordina l’elenco dei processi per quantità di CPU utilizzata
  • M: ordina l’elenco dei processi per quantità di memoria impiegata
  • Barra spaziatrice: aggiorna l’elenco
  • q: uscire

Ecco cosa vedrete :

OK !! Dopo aver trovato il nostro programma in background ci dobbiamo ricordare il relativo codice ID/PID uscire dalle tabelle di ricerca e usare il comando “kill” per arrestare il programma.

Semplicemente :

“kill n°ID/PID” esempio “kill 4498” e premere INVIO

SPERO DI ESSERE STATO UTILE , BUON DIVERTIMENTO….