nohup

nohup laat een proces doordraaien nadat de terminal of SSH-sessie wordt afgesloten.

Basisgebruik

nohup commando &
nohup commando > uitvoer.log 2>&1 &

Hoe het werkt

  • Onderschept het SIGHUP-signaal dat normaal een proces beëindigt bij het sluiten van de terminal
  • Standaarduitvoer gaat naar nohup.out als je niet omleidt
  • & zet het proces in de achtergrond

Voorbeelden

Script op achtergrond uitvoeren:

nohup ./langlopend-script.sh &

Uitvoer naar eigen logbestand:

nohup ./script.sh > /var/log/script.log 2>&1 &

PID bewaren voor later:

nohup ./server.py > server.log 2>&1 &
echo $! > server.pid

Later stoppen:

kill $(cat server.pid)

Alternatief: tmux of screen

tmux new -s taak
./langlopend-script.sh
# Ctrl+b d  →  loskoppelen

Tip

tmux of screen zijn comfortabeler voor interactieve sessies. nohup is ideaal voor scripts die je éénmalig wilt starten en vergeten.

processenscripting