Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/06/2011, 15h48   #1
Membre du Club
 
Inscription : mai 2007
Messages : 188
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 188
Points : 56
Points : 56
Par défaut Comment detecter si un fichier est utilisé par un process ?

Bonjour,

Voici ma problématique.

Citation:
J'ai une application "XXXX" externe lisant une série de fichier XML sur un serveur distant. Application lourdes, propriétaire, sur un poste éloigné.
Mon application XXXX ne peut pas renvoyer un signal au serveur pendant la lecture des fichiers XML, je n'ai pas cette possibilité.



Ma question:

Est-il possible de savoir en PHP, si ces fichiers XML, sont occupés par le process de l'application "XXXX" afin que personne ne puissent les supprimer ?



D'avance merci
++

PS: Système d'exploitation UNIX
Cvbdev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 15h57   #2
Membre actif
 
Inscription : février 2009
Messages : 150
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 150
Points : 198
Points : 198
Salut,
A priori non, tu ne peu pas controler ça à partir de php. Tu peu savoir le processus, mais pas ce qui se passe dedans.
Ton application doit normalement bloquer le fichier en lecture unique pendant son utilisation, et donc empécher la suppression.
nextdev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 16h04   #3
Membre du Club
 
Inscription : mai 2007
Messages : 188
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 188
Points : 56
Points : 56
Citation:
Envoyé par nextdev Voir le message
Salut,
A priori non, tu ne peu pas contrôler ça à partir de php. Tu peu savoir le processus, mais pas ce qui se passe dedans.
Ton application doit normalement bloquer le fichier en lecture unique pendant son utilisation, et donc empécher la suppression.
J'ai pas bien compris.
Pour chaque fichier, je peux savoir s'il utiliser par un processus ?
C'est bien ça ?

Citation:
Tu peu savoir le processus, mais pas ce qui se passe dedans.

Tant qu'à l'application lourde, comme s'est un accès réseau, est-ce qu'elle va me passer le fichier en lecture seule, je ne sais pas. Cela ne dépend t-il pas du système ?
Cvbdev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 16h06   #4
Membre actif
 
Inscription : février 2009
Messages : 150
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 150
Points : 198
Points : 198
humm, j'ai mal lu, c'est sur un autre poste en plus qu'il y a ton application...
Si l'envoi du xml se fait via http, peu etre lire les logs web

Si c'est sur une autre machine, tu n'as pas le processus de l'appli distante...

Tu as testé de simuler cette suppression pendant une utilisation ?
nextdev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 16h17   #5
Membre du Club
 
Inscription : mai 2007
Messages : 188
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 188
Points : 56
Points : 56
Citation:
Envoyé par nextdev Voir le message
humm, j'ai mal lu, c'est sur un autre poste en plus qu'il y a ton application... Si l'envoi du xml se fait via http, peu etre lire les logs web

Si c'est sur une autre machine, tu n'a pas le processus de l'appli distante...

Tu as testé de simuler cette suppression pendant une utilisation ?
lol ce n'est pas grave...

Non pas encore, je suis entrain de faire tous le "pseudo code" que j'aurais à codé et cette problématique, se pose clairement.

Je vais essayer de faire les tests, même si je suis à peut prêt certains que la suppression se fera, malgré tout...! !
Cvbdev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 16h30   #6
Membre actif
 
Inscription : février 2009
Messages : 150
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 150
Points : 198
Points : 198
Si tes fichiers xml sont petits, il y a peu de chance que la situation arrive

Une appli distante sur un réseau pourrai réussir à changer les droits du fichier.

Et sinon, depuis ta machine qui fait serveur, il y a surement un moyen de savoir si le processus tourne sur l'autre machine distante, via par exemple une application/commande que tu lancerais dans le shell, grace à une fonction php du genre exec.

Bon codage
nextdev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 21h31   #7
Membre du Club
 
Inscription : mai 2007
Messages : 188
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 188
Points : 56
Points : 56
Citation:
Envoyé par nextdev Voir le message
Si tes fichiers xml sont petits, il y a peu de chance que la situation arrive

Une appli distante sur un réseau pourrai réussir à changer les droits du fichier.

Et sinon, depuis ta machine qui fait serveur, il y a surement un moyen de savoir si le processus tourne sur l'autre machine distante, via par exemple une application/commande que tu lancerais dans le shell, grace à une fonction php du genre exec.

Bon codage
re,

Non les fichiers XML risquent d'être important en volume...
FM est assez particulier, je ne le maitrise pas complètement...mais l'idée de vérifier si le processus tourne sur la machine distante m'a traversé l'esprit. Le truc c'est que sur un parc réseau, c'est une usine à gaz de vérfier cela !

Je te tiens au courant de la solution retenue !

++
Cvbdev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2011, 19h00   #8
Futur Membre du Club
 
Homme
Étudiant
Inscription : mai 2011
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 22
Points : 19
Points : 19
Hi,
Je pense que pour ton problème, on peut tout simplement créer un fichier 'XXX.xml.lock' à la lecture du fichier et le supprimer à la fin de la lecture.
Après, plus qu'à tester si le fichier existe ou non .

Peace
zeroc00l est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2011, 21h31   #9
Membre du Club
 
Inscription : mai 2007
Messages : 188
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 188
Points : 56
Points : 56
Citation:
Envoyé par zeroc00l Voir le message
Hi,
Je pense que pour ton problème, on peut tout simplement créer un fichier 'XXX.xml.lock' à la lecture du fichier et le supprimer à la fin de la lecture.
Après, plus qu'à tester si le fichier existe ou non .

Peace
C'est à quoi je me destine effectivement de créer un fichier de .lock pendant la lecture d'un fichier

Je suis entrain de mettre en place tout cela.
Je ferais un petit résumé de la technique employé, car y a quelques contraintes à prendre en compte que je n'ai pas décrites ici !

++
Cvbdev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2011, 08h28   #10
Membre actif
 
Inscription : février 2009
Messages : 150
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 150
Points : 198
Points : 198
Mouuais... j'attends la suite, ça me parait louche ce lock.
Tu peu quand meme lire les fichiers locké ?
Tu as pas dit que tu ne pouvais pas toucher au code de l'appli ? (qui serai censé mettre ce lock)
nextdev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2011, 12h08   #11
Futur Membre du Club
 
Homme
Étudiant
Inscription : mai 2011
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 22
Points : 19
Points : 19
Citation:
Envoyé par nextdev Voir le message
Mouuais... j'attends la suite, ça me parait louche ce lock.
Tu peu quand même lire les fichiers locké ?
Le fichier de lock, c'est plutôt logique au contraire. (lock n'étant qu'une extension, on pourrait mettre n'importe quoi d'autre).

Cela n’empêche pas quelqu’un de supprimer où d'éditer le fichier mais il y a une trace de l'utilisation d'un fichier.
En revanche ,dans une application on a juste besoin de tester l'existence du lock.


Citation:
Envoyé par nextdev Voir le message
Tu as pas dit que tu ne pouvais pas toucher au code de l'appli ? (qui serai censé mettre ce lock)
Citation:
Envoyé par Cvbdev Voir le message
Mon application XXXX ne peut pas renvoyer un signal au serveur pendant la lecture des fichiers XML
zeroc00l est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h03.


 
 
 
 
Partenaires

Hébergement Web