Comment verrouiller un fichier avec flock - C++ - Programmation
Marsh Posté le 19-06-2007 à 09:23:32
les lock sont coopératifs, sauf si tu montes ta partition en mandatory
Marsh Posté le 19-06-2007 à 14:47:28
Ah, j'avais vu un peu de ca dans mandatory.txt,
Mais ya moyen de passer outre avec lockf ou fcntl ?
Sinon, a quoi ca servirait de vérouiller un fichier ? Je veux dire que pour l'instant je n'ai pas vu de différences entre le moment ou je pose mon verrou et le moment ou je l'enlève.
Marsh Posté le 19-06-2007 à 16:33:54
Enfait, je réalise un programme qui écrit un fichier bash pour ensuite l'exécuter, sauf que je voudrais que pendant l'exécution du code bash, le fichier ne soit pas accessible en lecture.
Donc, la seule facon de verrouiller un fichier avec flock, c'est de monter ma partoche en mandatory ? OK
Je voudrais savoir, s'il était possible de créer un fichier virtuel ? C'est a dire un fichier qui ne serais pas stocké sur le ddur mai que je pourrais quand même faire exécuter par bash.
On dit que sous Unix, tout est fichier, ca doit etre possible de faire ca non ?
Je pense plus précisément à l'utilisation d'un buffer par exemple.
Marsh Posté le 20-06-2007 à 07:30:39
Citation : Je voudrais savoir, s'il était possible de créer un fichier virtuel ? C'est a dire un fichier qui ne serais pas stocké sur le ddur mai que je pourrais quand même faire exécuter par bash. |
non ?
Marsh Posté le 20-06-2007 à 09:55:33
Je vais peut-être poser une question conne ...
Tu ne pourrais pas obtenir la même chose avec des droits sur le fichier ?
Marsh Posté le 20-06-2007 à 10:24:02
utb diablo a écrit :
|
fait un pipe
Marsh Posté le 20-06-2007 à 12:03:17
Citation : Je vais peut-être poser une question conne ... |
Waip, si je trouve pas de soluce avec les verrous, je ferais comme ca.
Citation : fait un pipe |
J'aurais bien aimé mais,
- si je fais un pipe, tout sera visible avec ps x
- le code bash est contenu dans un array string, donc je vois mal comment faire un pipe là-dessus
Code :
|
PS : Je viens de tomber sur ce document, http://www.chez.com/vidalc/lf/socket.html#blocking
L'auteur utilise fcntl sur une partoche qui n'est pas (en tout cas, il n'en fait pas mention) en mandatory.
Si j'ai bien compris, les sockets sont traités comme n'importe que autre descripteur de fichier.
je comprends pas, pourquoi le monsieur il peut utiliser fcntl et pas moi :@
Marsh Posté le 31-10-2007 à 19:03:45
une pipe, je vois bien
mais un pipe non
C'est pas un truc du genre : cat fichier | grep foo ?
Marsh Posté le 18-06-2007 à 18:58:08
Salut tout le monde !
Voila, j'essaie depuis hier de verrouiller un fichier avec flock().
Je comprends pas, le verrou est bien posé, flock me renvoie 0, pourtant j'arrive à afficher le contenu du fichier et à le modifier.
J'ai été voir du coté de mandatory.txt, j'ai donc essayé de revoir mon code en utilisant fcntl. Sans succès
Donc si quelqu'un a dejà reussi à vérouiller un fichier, ce serait sympa de m'aider.
Merci
Mon code :
Sauf que pendant l'exécution des actions, le fichier est "readable" par les autres processus, ce que je ne veux pas !
---------------
Au royaume des aveugles, les borgnes sont rois xo0