In questa pagina
INIZIAMO AD USARE LA SHELL DI UBUNTU
Useremo Ubuntu con dei comandi che non sono purtroppo disponibili su Windows e non potrebbero mai girare su una semplice scheda Arduino. In questo post vedremo come usare fuser nel terminale di Ubuntu.
COME SCOPRIRE I PROGRAMMI CHE BLOCCANO UNA CERTA PORTA SU UBUNTU?
Potremmo lanciare il comando ps -ea per andare a spulciare tra tutti i programmi in esecuzione ma perderemmo troppo tempo.
Scriviamo invece sul prompt di Ubuntu (che si chiama SHELL) il comando seguente e otterremo in un instante il PID del programma:
$ fuser -i :3000
oppure
$ fuser -i :8000
facendo attenzione a lasciare uno spazio prima dei “due punti”.
Riceveremo un messaggio del tipo:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME node 16176 utente 22u IPv4 26591333 0t0 TCP :3000 (LISTEN)
e da questo siamo in grado di capire che un server node sta girando in sottofondo (come demon) con un PID = 16176. Per bloccarlo ci basta scrivere:
$ kill -9 16176 (o qualunque numero sia il PID)
facendo come sempre attenzione agli spazi.
IL COMANDO NETSTAT
In alternativa puoi usare invece netstat insieme a grep per cercare il programma che occupa la porte 80 o 3000 o 8000.
sudo netstat -ltnp | grep 80
sudo netstat -ltnp | grep 3000
sudo netstat -ltnp | grep 8000
Dopo avere ottenuto il messaggio:
tcp 0 0 0.0.0.0:3000 0.0.0.0: LISTEN 16176/node
possiamo procedere con il solito comando kill -9 PID per “stoppare” il programma che ci dà fastidio.
PERCHÈ È IMPORTANTE USARE LA SHELL DI UBUNTU
- La shell di Ubuntu è potente e flessibile. Può essere utilizzata per eseguire un’ampia gamma di attività, dalla gestione di file e cartelle al controllo di processi e servizi.
- La shell di Ubuntu è facile da imparare. L’interfaccia della shell è semplice e diretta, e ci sono molte risorse disponibili per aiutarti a imparare a usarla.
- La shell di Ubuntu è compatibile con una vasta gamma di software. Puoi utilizzare la shell di Ubuntu per eseguire programmi che sono stati scritti per Linux, Windows e macOS.
- La shell di Ubuntu è gratuita e open source. Puoi utilizzarla e modificarla a tuo piacimento senza alcun costo.
Ecco alcuni esempi di come i programmatori evoluti possono utilizzare la shell di Ubuntu:
- Per automatizzare le attività. La shell di Ubuntu può essere utilizzata per creare script che eseguono automaticamente una serie di comandi. Questo può essere utile per automatizzare attività ripetitive o per eseguire attività che sono troppo difficili da eseguire manualmente.
- Per risolvere i problemi. La shell di Ubuntu può essere utilizzata per ottenere informazioni dettagliate sul sistema e sui processi in esecuzione. Questo può essere utile per diagnosticare e risolvere problemi di sistema.
- Per sviluppare software. La shell di Ubuntu può essere utilizzata per compilare codice, eseguire test e eseguire il debug di programmi. Questo può essere utile per sviluppatori di tutti i livelli di esperienza.
Se sei un programmatore evoluto, ti consiglio di dare un’occhiata alla shell di Ubuntu. È uno strumento potente e flessibile che può aiutarti a essere più produttivo e a risolvere i problemi più velocemente.
ESISTE UN EQUIVALENTE SU WINDOWS?
Seppure in linea di massima chi lavora nel mondo IOT tende a preferire Linux, anche nel mondo Windows esiste un comando simile.
Ecco un esempio di come utilizzare il comando “lsof”:
$ lsof -i
Questo comando elencherà tutti i file aperti su tutte le porte di rete. Puoi anche utilizzare il comando “lsof” per elencare i file aperti su una porta specifica, come ad esempio:
$ lsof -i :80
Questo comando elencherà tutti i file aperti sulla porta 80.
Il comando “lsof” può essere uno strumento utile per trovare file o porte che sono in uso da più di un processo, o per trovare processi che stanno utilizzando determinati file o porte.