The UNIX and Linux Forums  

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
tftp felsökning Bobby76 UNIX for Dummies Frågor & Svar 0 02-29-2008 09:44
läsa från en fil och pass som variabler och ignorera # i filen konark Shell-programmering och Skript 4 11-08-2007 03:55
Läsa en fil och skriva filnamnet till ett param fil. thebeginer UNIX för avancerade & Expertanvändare 1 10-05-2007 05:38
Läsa filnamn från en fil och verkställande relativa fil från shell script anushilrai Shell-programmering och Skript 4 03-10-2006 05:25
Läsa specifika innehållet från en fil och lägga till det till en annan fil dnicky Shell-programmering och Skript 5 10-04-2005 06:45

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 Sök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 10-03-2006
Indalecio Indalecio is offline
Registered User
  
 

Join Date: Sep 2006
Ort: Sverige
Inlägg: 59
Felsökning: fil behandlingen konflikt?

Hej alla
Jag försöker att till fullo förstå en fråga som jag hade igår och var bara hoppas du ge mig din åsikt om det. Jag tror att jag åtgärdat problemet, men jag tycker fortfarande okunniga om vissa delar av hur jag kunde uppleva i följande scenario. Här var situationen (gamla förenklad kod version):


Kod:
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

Innehållet i INPUT_DIR innehöll en hel del filer, och det rapporteras ovanstående fel på en av dem (SOURCE \u003d 1, END_RCD \u003d 0). Men filen var ok så vitt jag kunde se. Jag snabbt se mina kommandon var korrekta och även nytt sprang skriptet på hela fillistan för att få en slutlig ok som en utgång, så det såg konstigt vid en första anblick.

Efter en tid av undersökningen jag äntligen fann att jag hade ett gäng n processer som körs i bakgrunden kräver att kodsnutten. Trots detta jag ursprungligen tänkt skriptet bara skulle köra en gång vid samma tid, så de som behandlas i min process (n) faller i INPUT_DIR skulle uppdatera BEARBETADE fil så att de inte får tas upp vid nästa samtal.

Tyvärr för min teori, sanningen var att skriptet fick kallas flera gånger samtidigt (från olika sessioner), behandling parallellt med en BEARBETADE fil som inte var unik (du börjar se vad det kan se ut så här ). Så för att sammanfatta de ovanstående script rapporterade ett fel när man kör på den process (n) för en fil som skapas av den process (n-1).

Nu ovanstående situation bör ändå vara ok så länge som en fil öppnas en gång i tiden, det är bara det att denna fil får kontrolleras av fel process, men resultatet är detsamma. Så vad jag tror är att filen som den rapporterade felet öppnades i två sessioner på samma gång.

Jag har tagit bort BEARBETADE fil och nu kör skriptet en gång efter alla processer är klara så jag inte får några problem längre. Det enda jag fortfarande inte förstår är varför END_RCD gav 0. Efter två möten har olika rörliga buffertar, jag kan inte se hur en eventuell konflikt om ett ärende skulle ge ett sådant fel. Om någon här har ett trovärdigt förklaring, skulle jag gärna veta om det.

Tack så mycket,
Yann
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 08:18.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0