11.04.2013 Views

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>di</strong>sown<br />

fg<br />

bg<br />

wait<br />

Capitolo 11. Coman<strong>di</strong> interni e builtin<br />

“1” è il numero <strong>di</strong> job (i job sono gestiti dalla shell corrente), mentre “1384” è il numero <strong>di</strong><br />

processo (i processi sono gestiti dal sistema operativo). Per terminare questo job/processo si<br />

può utilizzare sia kill %1 che kill 1384.<br />

Grazie, S.C.<br />

Cancella il/i job dalla tabella dei job attivi della shell.<br />

Il comando fg mo<strong>di</strong>fica l’esecuzione <strong>di</strong> un job da background (sfondo) in foreground (primo piano).<br />

Il comando bg fa ripartire un job che era stato sospeso, mettendolo in esecuzione in background. Se<br />

non viene specificato nessun numero <strong>di</strong> job, allora il comando fg o bg agisce sul job attualmente in<br />

esecuzione.<br />

Arresta l’esecuzione dello script finché tutti i job in esecuzione in background non sono terminati, o<br />

finché non è terminato il job o il processo il cui ID è stato passato come opzione. Restituisce l’exit<br />

status <strong>di</strong> attesa-comando.<br />

Il comando wait può essere usato per evitare che uno script termini prima che un job in esecuzione<br />

in background abbia ultimato il suo compito (ciò creerebbe un temibile processo orfano).<br />

Esempio 11-24. Attendere la fine <strong>di</strong> un processo prima <strong>di</strong> continuare<br />

#!/bin/bash<br />

ROOT_UID=0 # Solo gli utenti con $UID 0 posseggono i privilegi <strong>di</strong> root.<br />

E_NONROOT=65<br />

E_NOPARAM=66<br />

if [ "$UID" -ne "$ROOT_UID" ]<br />

then<br />

echo "Bisogna essere root per eseguire questo script."<br />

# "Cammina ragazzo, hai finito <strong>di</strong> poltrire."<br />

exit $E_NONROOT<br />

fi<br />

if [ -z "$1" ]<br />

then<br />

echo "Utilizzo: ‘basename $0‘ nome-cercato"<br />

exit $E_NOPARAM<br />

fi<br />

echo "Aggiornamento del database ’locate’ ..."<br />

219

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!