Nohup
-
En aquest capítol veurem un exemple bash de la comanda nohup.
-
nohup permet executar una comanda, abandonar la sessió, dexant la comanda executant-se. Quan tornem a entrar a la sessió veurem l'estat de la comanda.
Exemple:
#!/bin/bash
# Nohup. Script equivalent a la comanda nohup. Exemple: $ nohup escriure &
# Continua l'execució de la comanda en background tot i abandonar el sistema.
# Sortida standard (i també d'errors) readreçades a nohup.out
trap '' HUP # ignora senyal hangup. No hi ha cap funció associada
exec 0< /dev/null # desconnecta l'entrada standard
if [ -t 1 ]; then # la sortida stàndard està associada a un terminal?
if [ -w . ]; then # l'usuari té permís d'escriptura en ./
echo 'Enviant sortida a nohup.out'
exec >> nohup.out # readreça sortida standard
else echo "Enviant sortida a $HOME/nohup.out" && \
exec >> $HOME/nohup.out
fi
fi
# readreçament de la sortida d'errors si es necessari
[ -t 2 ] && echo "Enviant sortida d'errors a nohup.out" && exec 2>&1
$@ # executa la comanda
exit 0