La risposta accettata suggerisce l'utilizzo di nohup . Preferirei suggerire di usare pm2 . L'uso di pm2 su nohup ha molti vantaggi, come mantenere attiva l'applicazione, mantenere i file di registro per l'applicazione e molte altre funzionalità. Per maggiori dettagli controlla questo .
Per installare pm2 devi scaricare npm . Per sistema basato su Debian
sudo apt-get install npm
e per Redhat
sudo yum install npm
Oppure puoi seguire queste istruzioni . Dopo aver installato npm, usalo per installare pm2
npm install pm2@latest -g
Una volta terminato, puoi avviare l'applicazione entro
$ pm2 start app.js # Start, Daemonize and auto-restart application (Node)
$ pm2 start app.py # Start, Daemonize and auto-restart application (Python)
Per il monitoraggio del processo utilizzare i seguenti comandi:
$ pm2 list # List all processes started with PM2
$ pm2 monit # Display memory and cpu usage of each app
$ pm2 show [app-name] # Show all informations about application
Gestisci i processi utilizzando il nome dell'app o l'ID processo o gestisci tutti i processi insieme:
$ pm2 stop <app_name|id|'all'|json_conf>
$ pm2 restart <app_name|id|'all'|json_conf>
$ pm2 delete <app_name|id|'all'|json_conf>
I file di registro sono disponibili in
$HOME/.pm2/logs #contain all applications logs
I file eseguibili binari possono anche essere eseguiti utilizzando pm2. Devi apportare una modifica al file jason. Cambia il "exec_interpreter" : "node"
, in "exec_interpreter" : "none".
(vedi la sezione attributi ).
#include <stdio.h>
#include <unistd.h> //No standard C library
int main(void)
{
printf("Hello World\n");
sleep (100);
printf("Hello World\n");
return 0;
}
Compilare sopra il codice
gcc -o hello hello.c
ed eseguirlo con np2 in background
pm2 start ./hello