![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Rules | Lenker | Album | FAQ | Medlemsliste | Kalender | Søke | Dagens innlegg | Marker forumene som lest |
| Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her. |
Mer UNIX og Linux Forum Emner Du kan finne nyttig
|
||||
| Tråd | Tråd startet | Forum | Svar | Siste innlegg |
| TFTP feilsøking | Bobby76 | UNIX for Dummies Spørsmål og svar | 0 | 02-29-2008 09:44 |
| leser fra en fil og pass som variabler og ignorere # i filen | konark | Shell programmering og Skripting | 4 | 11-08-2007 03:55 |
| Lese en fil og skriver filnavnet til et param fil. | thebeginer | UNIX for Advanced & ekspertbrukere | 1 | 10-05-2007 05:38 |
| Reading filnavn fra en fil og gjennomføring av den relative fil fra shell script | anushilrai | Shell programmering og Skripting | 4 | 03-10-2006 05:25 |
| Reading konkrete innholdet fra en fil og legger den til en annen fil | dnicky | Shell programmering og Skripting | 5 | 10-04-2005 06:45 |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
||||
|
Feilsøking: file reading Clash?
Hei alle Jeg prøver å forstå et problem jeg hadde i går og var bare håper du gi meg din mening om den. Jeg tror jeg løst problemet, men jeg fortsatt føler uvitende om noen deler av atferd jeg kunne oppleve på følgende scenario. Her var situasjonen (old forenklet koden versjon): Code:
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
Innholdet i INPUT_DIR inneholdt en rekke filer, og det rapporteres det over feil på en av dem (KILDE \u003d 1, END_RCD \u003d 0). Men filen var ok så langt jeg kan se. Jeg skjønte raskt sikret mine kommandoer var riktig, og selv igjen kjørte skriptet på hele filen for å få en endelig ok som en effekt, så dette så rart ved første blikk. Etter noen tid med gransking jeg endelig fant ut at jeg hadde en haug med n prosesser som kjører i bakgrunnen ringer at kodene. På tross av dette jeg opprinnelig tenkt dette skriptet bare kjører en gang på samme tid, så filene behandlet fra min prosess (n) faller i INPUT_DIR skulle oppdatere Prosesserte fil slik at de ikke blir plukket opp av de neste samtalene. Dessverre for min teori, sannheten var at manuset har ringt flere ganger på samme tid (fra ulike økter), behandling parallelt, dette med en Prosesserte fil som ikke unik (du begynner å se hva det kan se ut her ). Så for å oppsummere, ovenfor script rapportert en feil når du kjører på prosessen (n) for en fil som er opprettet av prosessen (n-1). Nå er det over situasjonen bør likevel være ok så lenge en fil er åpnet en gang i tiden, det er bare at filen blir sjekket av feil prosessen men resultatet er det samme. Det jeg mener er at filen som den rapporterte feilen ble åpnet i to økter på samme tid. Jeg har fjernet Prosesserte fil og nå kjøre dette skriptet gang etter at alle prosesser er gjennomført, slik at jeg ikke får noe problem lenger. Det eneste jeg forstår ikke hvorfor END_RCD ga 0. Etter to økter har ulike variable buffere, ser jeg ikke hvordan en potensiell Clash på en fil vil produsere en slik feil. Hvis noen her har en troverdig forklaring, ville jeg bli veldig glad for å vite om det.Mange takk, Yann |
| Hugseliste |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|