The UNIX and Linux Forums  


Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
tftp dépannage Bobby76 UNIX pour les nuls Questions et réponses 0 02-29-2008 09:44 AM
lecture d'un fichier et de passer des variables et d'ignorer dans le fichier # Konark De programmation et de script Shell 4 11-08-2007 03:55 AM
Lecture d'un fichier et écrit le nom du fichier à un fichier de paramètres. thebeginer UNIX for Advanced & Expert Users 1 10-05-2007 05:38 PM
La lecture des noms de fichiers à partir d'un fichier et d'exécuter le fichier de rapport de script shell anushilrai De programmation et de script Shell 4 03-10-2006 05:25 AM
Lecture des contenus spécifiques à partir d'un fichier et l'ajout d'un autre fichier dnicky De programmation et de script Shell 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 Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 10-03-2006
Indalecio Indalecio is offline
Registered User
  
 

Join Date: Sep 2006
Lieu: Suède
Posts: 59
Dépannage: lecture de fichiers choc?

Salut à tous
J'essaie de comprendre une question et j'ai eu hier était juste en espérant que vous me donner votre avis à ce sujet. Je crois que j'ai résolu le problème, mais je sens encore l'ignorance au sujet de certaines parties du comportement je pouvais l'expérience dans le scénario suivant. Ici, c'est la situation (ancienne version simplifiée du code):

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
Le contenu de la INPUT_DIR figurent un grand nombre de fichiers, et il a signalé l'erreur ci-dessus sur l'un d'eux (SOURCE \u003d 1, END_RCD \u003d 0). Toutefois, le dossier a été ok, autant que j'ai pu voir. Je me suis rapidement assuré mes commandes ont été correctes et même de re-dirigé le script sur l'ensemble du dossier pour obtenir une liste finale ok comme un résultat, ce regardé bizarre à première vue.

Après un certain temps de l'enquête, j'ai finalement trouvé que j'avais un tas de n processus s'exécutant en arrière-plan demandant que peu de code. En dépit de cela, je l'origine, ce script ne serait courir une fois dans le même temps, de sorte que les fichiers de mon processus de traitement (n) de tomber dans INPUT_DIR serait mise à jour du fichier traité de sorte qu'ils n'ont pas pris en compte par le prochain appel.

Malheureusement pour ma théorie, la vérité est que le script a appelé plusieurs fois dans le même temps (à partir de différentes sessions), le traitement en parallèle, avec un fichier traité qui n'est pas unique (vous commencez à voir ce que cela peut ressembler ici ). Donc, pour résumer, le script ci-dessus a signalé une erreur lors de l'exécution sur le processus (n) pour un fichier créé par le processus (n-1).

Maintenant, la situation décrite ci-dessus devrait être ok tant que le fichier est ouvert une fois le temps, c'est juste que ce fichier est vérifié par le mal, mais le résultat reste le même. Alors, ce que je crois, est que le dossier sur lequel il a signalé l'erreur a été ouverte en deux sessions en même temps.

J'ai supprimé le fichier et maintenant TRANSFORMES exécuter ce script, une fois après avoir terminé tous les processus sont si je ne reçois plus aucune question. La seule chose que je ne comprends toujours pas pourquoi END_RCD a 0. Depuis deux sessions différentes variables tampons, je ne vois pas comment un éventuel choc sur un fichier se produire une telle erreur. Si quelqu'un ici a un crédibles explication, je serais très heureux de le savoir.

Many thanks,
Yann
Closed Thread

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 07:22 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0