The UNIX and Linux Forums  


Go Back   UNIX e Linux Forum > Inizio Forum > Shell scripting e di programmazione
.
google unix.com



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
tftp risoluzione dei problemi Bobby76 UNIX for Dummies Domande & Risposte 0 02-29-2008 09:44 AM
lettura da un file e passare come variabili e ignorare # nel file konark Shell scripting e di programmazione 4 11-08-2007 03:55 AM
Lettura di un file e scrivere il nome del file a un file di parametri. thebeginer UNIX e avanzata per utenti esperti 1 10-05-2007 05:38 PM
Leggere i nomi dei file da un file e di eseguire il relativo file di script di shell anushilrai Shell scripting e di programmazione 4 03-10-2006 05:25 AM
Lettura di contenuti specifici a partire da un file e aggiungendo che in un altro file dnicky Shell scripting e di programmazione 5 10-04-2005 06:45 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 10-03-2006
Indalecio Indalecio is offline
Utente Registrato
  
 

Join Date: Sep 2006
Posizione: Svezia
Interventi: 59
Risoluzione dei problemi: la lettura di file scontro?

Ciao a tutti
Sto cercando di capire un problema e ho avuto ieri era solo la speranza che ci si darmi il vostro parere al riguardo. Credo risolto il problema, ma mi sento ancora ignorante su alcune parti del comportamento ho potuto esperienza nello scenario seguente. Qui era la situazione (vecchia versione semplificata del codice):


Codice:
for FILE in $INPUT_DIR ; do
   grep -q $FILE $PROCESSED 2>&1
   if [ $? != 0 ] ; then
      echo $FILE >> $PROCESSED
   else
      continue
   fi
   SOURCE=`grep ^S $FILE | wc -l | awk '{print $1}'`
   END_RCD=`grep ^E $FILE | wc -l | awk '{print $1}'`
   if [ $SOURCE -ne $END_RCD ] ; then
      echo "Error in $FILE: "$SOURCE" source keys detected, but "$END_RCD" end keys detected.
   fi
done

Il contenuto del INPUT_DIR contenute un sacco di file, e ha riferito l'errore di cui sopra su uno di essi (SOURCE \u003d 1, END_RCD \u003d 0). Tuttavia, il file è stato ok, per quanto ho potuto vedere. I miei comandi rapidamente garantito sono state corrette e anche ri-corse lo script su tutto il file per ottenere un elenco definitivo ok come uno di uscita, in modo tale guardato strano a prima vista.

Dopo qualche tempo di indagini ho finalmente trovato che ho avuto un sacco di n processi in esecuzione in background che chiama po 'di codice. Nonostante questo io inizialmente supposto questo script dovrebbe essere utilizzata solo una volta in esecuzione allo stesso tempo, in modo che il file elaborati dal mio processo (n), che rientrano in INPUT_DIR sarebbe l'aggiornamento del file ELABORAZIONE in modo da non avere raccolto da i prossimi inviti.

Purtroppo per la mia teoria, la verità è che la sceneggiatura ha chiamato più volte nello stesso tempo (da diverse sessioni), la trasformazione in parallelo, con un file che è stato ELABORAZIONE non unico (si cominceranno a vedere ciò che può apparire come qui ). Quindi per riassumere, lo script qui sopra riportato un errore durante l'esecuzione del processo (n) per un file creato dal processo (n-1).

Ora la situazione di cui sopra dovrebbe essere ancora ok fino a quando un file viene aperto una volta al momento, è solo che questo file viene controllato dal processo di sbagliato, ma il risultato rimane lo stesso. Quindi, ciò che a mio parere, è che il file su cui è riportato l'errore è stato aperto in due sessioni allo stesso tempo.

Ho rimosso il file e adesso ELABORAZIONE eseguire lo script una volta dopo tutti i processi sono stati completati quindi non ho più alcun problema. L'unica cosa che ancora non capisco è il motivo per cui END_RCD ha 0. Poiché due sessioni diverse variabile buffer, non vedo come un potenziale scontro su un file di produrre un tale errore. Se qualcuno qui ha un credibile spiegazione, sarei molto felice di sapere.

Molte grazie,
Yann
Closed Thread

Segnalibri

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 12:24 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0