A voir également:
- Linux vi aller à la fin du fichier
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier host - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier iso - Guide
8 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
19 avril 2010 à 17:53
19 avril 2010 à 17:53
Salut,
Le fichier est créé comment ? Depuis où ? Qu'est-ce qui le crée ?
Le fichier est créé comment ? Depuis où ? Qu'est-ce qui le crée ?
Salut jipicy,
cela fait un bout de temps :) mais je vois que tu es fidéle à tes principes et je te remercie d'avance pour ton aide.
Le fichier est soit crée par une application J2EE, soit reçu par un CFT. dans les deux cas, il faudrait que j'attend la fin du transfert ou la fin de création du fichier avant que je n'opère mes traitements.
L'ordonnanceur déclenche son traitement dés que le fichier est crée dans le répertoire x.
Merci d'avance.
cela fait un bout de temps :) mais je vois que tu es fidéle à tes principes et je te remercie d'avance pour ton aide.
Le fichier est soit crée par une application J2EE, soit reçu par un CFT. dans les deux cas, il faudrait que j'attend la fin du transfert ou la fin de création du fichier avant que je n'opère mes traitements.
L'ordonnanceur déclenche son traitement dés que le fichier est crée dans le répertoire x.
Merci d'avance.
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
20 avril 2010 à 12:31
20 avril 2010 à 12:31
Re-
Tu devrais peut être voir du côté de la commande "lsof".
Une commande du genre :
renvoie le PID du processus qui a ouvert le fichier, et rien lorsque le fichier est fermé.
Donc, avec une simple boucle qui vérifie si le fichier est ouvert devrait faire l'affaire, enfin je pense... ;-))
PS. Y'a peut être mieux et plus simple
Tu devrais peut être voir du côté de la commande "lsof".
Une commande du genre :
/usr/sbin/lsof /chemin/fichier_en_cours_de_téléchargement
renvoie le PID du processus qui a ouvert le fichier, et rien lorsque le fichier est fermé.
Donc, avec une simple boucle qui vérifie si le fichier est ouvert devrait faire l'affaire, enfin je pense... ;-))
PS. Y'a peut être mieux et plus simple
dubcek
Messages postés
18752
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
3 octobre 2024
5 619
20 avril 2010 à 12:44
20 avril 2010 à 12:44
hello
créer le fichier ailleur et le déplacer dans le dossier x quand il est prêt
ou
créer le fichier sous un nom temporaire que l'ordonnanceur ne touchera pas (par ex .part comme Firefox) et le renommer à la fin
créer le fichier ailleur et le déplacer dans le dossier x quand il est prêt
ou
créer le fichier sous un nom temporaire que l'ordonnanceur ne touchera pas (par ex .part comme Firefox) et le renommer à la fin
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
20 avril 2010 à 12:53
20 avril 2010 à 12:53
Salut,
Ben ça revient au même non ? La difficulté étant de connaitre le moment où le téléchargement est fini ;-\
Ben ça revient au même non ? La difficulté étant de connaitre le moment où le téléchargement est fini ;-\
dubcek
Messages postés
18752
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
3 octobre 2024
5 619
20 avril 2010 à 13:00
20 avril 2010 à 13:00
L'ordonnanceur déclenche son traitement dés que le fichier est crée dans le répertoire x.
est ce que l'ordonnanceur est totalement (et aveuglement) automatique ou controlable ?
dans ton exemple, qui attend ?
est ce que l'ordonnanceur est totalement (et aveuglement) automatique ou controlable ?
dans ton exemple, qui attend ?
Salut,
l'ordonanceur est limité par rapport à tout ce qui est événementiel. l'évenement est déclenché dés la création du fichier indépendamment de la fin de création du fichier ou non :)
Pour la réponse de dubeck, elle n'est pas faisable dans mon scénario.
l'ordonanceur est limité par rapport à tout ce qui est événementiel. l'évenement est déclenché dés la création du fichier indépendamment de la fin de création du fichier ou non :)
Pour la réponse de dubeck, elle n'est pas faisable dans mon scénario.
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
20 avril 2010 à 15:23
20 avril 2010 à 15:23
As-tu essayé avec lsof ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ça ne marche pas.
j'ai lancé une boucle indéfinie pour la création d'un fichier et en parrallèle j'ai testé avec "lsof /rep" rep : est le répertoire contenant le fichier ouvert/en cours d'écriture et cela ne me donne aucun résultat.
j'ai lancé une boucle indéfinie pour la création d'un fichier et en parrallèle j'ai testé avec "lsof /rep" rep : est le répertoire contenant le fichier ouvert/en cours d'écriture et cela ne me donne aucun résultat.
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
20 avril 2010 à 15:56
20 avril 2010 à 15:56
Il faut le nom du fichier pour avoir un retour du PID qui a ouvert le fichier.
Sans le nom mais avec le répertoire il retourne (enfin chez moi sur un téléchargement avec "wget") le PID de bash et celui de wget :-\
Sans le nom mais avec le répertoire il retourne (enfin chez moi sur un téléchargement avec "wget") le PID de bash et celui de wget :-\
Salut jipicy,
j'ai procéder come suit. en ligne de commande j'ai lancé une boucle indéfinie pour la création d'un fichier dans le répertoire x. avec une autre session j'ai exécuter un lsof sur le répertoire et il ne me retourne pas le pid du fichier en cours de création.
Je vais creuser d'avantage.
Bonne journée.
j'ai procéder come suit. en ligne de commande j'ai lancé une boucle indéfinie pour la création d'un fichier dans le répertoire x. avec une autre session j'ai exécuter un lsof sur le répertoire et il ne me retourne pas le pid du fichier en cours de création.
Je vais creuser d'avantage.
Bonne journée.
dubcek
Messages postés
18752
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
3 octobre 2024
5 619
22 avril 2010 à 15:36
22 avril 2010 à 15:36
en surveillant le fichier pas le répertoire, ça fonctionne
$ $ for X in in $(seq 1 10) ; do date ;sleep 5;done >> /tmp/pipapou& [1] 12066 $ $ lsof -l |grep pipapou bash 12066 1000 1w REG 8,1 60 343445 /tmp/pipapou sleep 12071 1000 1w REG 8,1 60 343445 /tmp/pipapou ... $ lsof -l |grep pipapou bash 12066 1000 1w REG 8,1 330 343445 /tmp/pipapou sleep 12238 1000 1w REG 8,1 330 343445 /tmp/pipapou $ lsof -l |grep pipapou [1]+ Done for X in in $(seq 1 10); do date; sleep 5; done >> /tmp/pipapou $ lsof -l |grep pipapou $ lsof -l |grep pipapou
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
22 avril 2010 à 15:40
22 avril 2010 à 15:40