![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrati | Regole Forum | Collegamenti | Album | FAQ | Members List | Calendario | Ricerca | Today's Posts | Mark Forums Read |
| Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui. |
Più di UNIX e Linux Forum Argomenti potreste trovare utili
|
||||
| Filo | Thread Starter | Forum | Risposte | Ultimo Post |
| Script di avvio "run processo con timer" | zawmn83 | Shell scripting e di programmazione | 0 | 08-21-2008 10:57 AM |
| Come includere RETURN KEY con sfondo processo "&" nella Shell Script | racbern | Shell scripting e di programmazione | 1 | 03-11-2008 07:30 AM |
| Q: La registrazione script di shell schermo output utilizzando "script" comando? | lalfonso.gomez | Shell scripting e di programmazione | 4 | 01-18-2007 09:31 PM |
| N. utpmx ingresso: è necessario eseguire la voce "login" dal livello più basso "guscio" | peterpan | UNIX for Dummies Domande & Risposte | 0 | 01-18-2006 04:15 AM |
| Il mio "pane e burro" Processo Keep Alive script Perl .... | Neo | Suggerimenti e Tutorial | 0 | 01-08-2005 05:17 AM |
![]() |
|
|
LinkBack | Thread Tools | Cerca in questo Thread | Rate Thread | Modalità di visualizzazione |
|
|
|
||||
|
Script di shell processo rimane dopo "l'uscita 1"
Ho uno script che esegue un oracolo di esportazione: Codice:
<snip>
if [ ${exp_type} = FULL ]
then
exp / full=y file=${exp_file} log=${exp_log} direct=y feedback=1000000 STATISTICS=NONE buffer=20000000
else
exp / full=n owner=${schema_name} file=${exp_file} log=${exp_log} direct=y feedback=1000000 STATISTICS=NONE buffer=20000000
fi
if [ $? -ne 0 ]
then
echo "Export command failed"
exit 1
fi
echo "Export command succeeded"
exit 0
Se l'esportazione riesce quindi ho il messaggio e lo script termina con nessun processo in memoria. Tuttavia, se fallisce, lo script si ferma (per esempio non viene visualizzato "Esporta riuscito"), ma il processo rimane: Codice:
> ps -ef|grep export oracle 23241 1 0 10:04 pts/1 00:00:00 /bin/bash /u01/ct_scr/export.sh TAXTST FULL Y Chiunque sa che cosa sta succedendo qui? |
|
||||
|
ok, un po 'più di diagnosi: Y bandiera sullo script è quello di indicare se la discarica dovrebbe essere compressi tramite tubo. l'esecuzione di script con: "/ u01/ct_scr/export.sh TAXTST COMPLETA N" esce bene. Ecco il codice per $ 3 \u003d Y: Codice:
if [ ${compress} = Y ]
then
pipe_name=${exp_loc}/compress_${ORACLE_SID}_${schema_name:-FULL}_${today}_p
# remove any existing pipe
rm -f ${pipe_name}
# Make a new pipe
/bin/mknod ${pipe_name} p
# initiate compression process on the new pipe to run in the background
gzip -c < ${pipe_name} > ${exp_file}.gz &
# Re-direct export output to the pipe
exp_file=${pipe_name}
fi
Ho anche incluso una funzione di pulizia che si chiama la prima uscita 1: Codice:
cleanup()
{
if [ ${compress:-N} = Y ]
then
rm -f ${pipe_name}
fi
}
Il tubo di sfondo e gzip comando sono andato una volta lo script termina lo script ma forse non sa che e si blocca intorno? Vorrei sapere se ho confuso le heck fuori di voi. Ho posto l'intero script, ma è kinda lungo ... |
|
||||
|
Confermato. il tubo di alimentazione alcuni manichino testo (con un implicito EOF) prima di rimuovere le cause che lo script per uscire correttamente: Codice:
cleanup()
{
if [ ${compress:-N} = Y ]
then
echo "fail" >> ${pipe_name}
rm -f ${pipe_name}
fi
}
Presumibilmente la questione è venuta da gzip comando non restituire un codice di uscita allo script processo prima che scompare, mantenendo lo script processo aperto. Uccidere il tubo prima che alimenta il processo di gzip nulla sembra lasciare lo script processo nel limbo. Nutrire il testo è un manichino OK soluzione, ma mi lascia con l'estensione. Gz file dopo un fallimento. Qualcuno sa come inviare il JUST EOF a un tubo? Sto sperando che questo farà sì che il processo di sfondo gzip per uscire in modo pulito, senza creare un file. Gz file. |
![]() |
| Segnalibri |
| Thread Tools | Cerca in questo Thread |
| Modalità di visualizzazione | Vota questo thread |
|
|