[HS] Vider un fichier pendant qu'un prog ecrit dedans
Bonjour, Désolé c'est hors sujet. J'ai un programme qui calcul plein de truc et que j'ai lancé depuis 1 semaine, je ne veux donc pas l'arreter, ni le faire planter. Ce programme écrit un fichier fort.68 (oui c'est codé en fortran). Ce fichier fait à ce jour 1,2 GO et mon home se réduit à vue d'oeil (d'où ma panique). Comment faire pour vider ce fichier sans le détruire ? En effet j'ai essayé de faire une lien dont le nom était le nom du fichier et dont la cible était sur une autre partition, mais problème : la création du lien ne fut pas assez rapide, donc plantage du calcul (j'ai plusieurs calculs qui tournent). Après ce cuisant échec et la semaine de boulot perdu qui va avec, j'ai un peu peur de faire des bêtises, d'où ma démarche de venir ici vous demander... Merci d'avance Guillaume -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/DebFrFrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: [HS] Vider un fichier pendant qu'un prog ecrit dedans
GiGGz a écrit : Bonjour, Salut Désolé c'est hors sujet. J'ai un programme qui calcul plein de truc et que j'ai lancé depuis 1 semaine, je ne veux donc pas l'arreter, ni le faire planter. Ce programme écrit un fichier fort.68 (oui c'est codé en fortran). Ce fichier fait à ce jour 1,2 GO et mon home se réduit à vue d'oeil (d'où ma panique). arf ca arrive ! :-) Comment faire pour vider ce fichier sans le détruire ? En effet j'ai essayé de faire une lien dont le nom était le nom du fichier et dont la cible était sur une autre partition, mais problème : la création du lien ne fut pas assez rapide, donc plantage du calcul (j'ai plusieurs calculs qui tournent). Après ce cuisant échec et la semaine de boulot perdu qui va avec, j'ai un peu peur de faire des bêtises, d'où ma démarche de venir ici vous demander... Quand je veux vider un fichier de log qui n'est pas relaché par une application sans toucher à l'application en elle-même, je fais ca: /var/log/pouet.log et hop, le fichier est vide et tout le monde a l'air content. Merci d'avance Guillaume De rien Guillaume -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/DebFrFrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: [HS] Vider un fichier pendant qu'un prog ecrit dedans
Bonjour, Le jeudi 20 mars 2008, GiGGz a écrit... Comment faire pour vider ce fichier sans le détruire ? En effet j'ai essayé de faire une lien dont le nom était le nom du fichier et dont la cible était sur une autre partition, mais problème : la création du lien ne fut pas assez rapide, donc plantage du calcul (j'ai plusieurs calculs qui tournent). Après ce cuisant échec et la semaine de boulot perdu qui va avec, j'ai un peu peur de faire des bêtises, d'où ma démarche de venir ici vous demander... Tu ne peux pas stopper le programme en lui envoyant SIGSTOP, puis faire un `echo fichier`, puis envoyer SIGCONT sur le programme ? -- jm A.E.L. Sarl (R.C.S CASTRES 490843240) http://www.spidboutic.fr -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/DebFrFrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: [HS] Vider un fichier pendant qu'un prog ecrit dedans
Guillaume a écrit : GiGGz a écrit : Bonjour, Salut Désolé c'est hors sujet. J'ai un programme qui calcul plein de truc et que j'ai lancé depuis 1 semaine, je ne veux donc pas l'arreter, ni le faire planter. Ce programme écrit un fichier fort.68 (oui c'est codé en fortran). Ce fichier fait à ce jour 1,2 GO et mon home se réduit à vue d'oeil (d'où ma panique). arf ca arrive ! :-) Comment faire pour vider ce fichier sans le détruire ? En effet j'ai essayé de faire une lien dont le nom était le nom du fichier et dont la cible était sur une autre partition, mais problème : la création du lien ne fut pas assez rapide, donc plantage du calcul (j'ai plusieurs calculs qui tournent). Après ce cuisant échec et la semaine de boulot perdu qui va avec, j'ai un peu peur de faire des bêtises, d'où ma démarche de venir ici vous demander... Quand je veux vider un fichier de log qui n'est pas relaché par une application sans toucher à l'application en elle-même, je fais ca: /var/log/pouet.log et hop, le fichier est vide et tout le monde a l'air content. Alors là c'est vraiment de la magie... :) Moi je ferais plutôt : : /var/log/pouet mais je dis ptet une bêtise... P. -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/DebFrFrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: [HS] Vider un fichier pendant qu'un prog ecrit dedans
Alors là c'est vraiment de la magie... :) Moi je ferais plutôt : : /var/log/pouet mais je dis ptet une bêtise... P. LOL on dirait que le a été mangé par ceux de la réponse du client mail ou alors, j'ai fourché ! :-) Il faut bien sur: /var/log/pouet/log moi, je mets pas de : A plus Guillaume -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/DebFrFrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: [HS] Vider un fichier pendant qu'un prog ecrit dedans
Guillaume a écrit : Alors là c'est vraiment de la magie... :) Moi je ferais plutôt : : /var/log/pouet mais je dis ptet une bêtise... P. LOL on dirait que le a été mangé par ceux de la réponse du client mail ou alors, j'ai fourché ! :-) Il faut bien sur: /var/log/pouet/log moi, je mets pas de : :) j'avais compris pour le . C'est assez étrange qd je teste la commande sur un fichier à part ça marche. Qd je tente sur mon fort.68 ça ne marche pas...comme s'il était protégé. bizarre. A plus Guillaume -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/DebFrFrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: [HS] Vider un fichier pendant qu'un prog ecrit dedans
GiGGz a écrit : Guillaume a écrit : Alors là c'est vraiment de la magie... :) Moi je ferais plutôt : : /var/log/pouet mais je dis ptet une bêtise... P. LOL on dirait que le a été mangé par ceux de la réponse du client mail ou alors, j'ai fourché ! :-) Il faut bien sur: /var/log/pouet/log moi, je mets pas de : :) j'avais compris pour le . C'est assez étrange qd je teste la commande sur un fichier à part ça marche. Qd je tente sur mon fort.68 ça ne marche pas...comme s'il était protégé. bizarre. Etrange parce que cette technique fonctionne avec un fichier qui n'est pas relaché par le programme avant le de quitter ! je peux pas t'aider la -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/DebFrFrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: [HS] Vider un fichier pendant qu'un prog ecrit dedans
Le 13958ième jour après Epoch, GiGGz écrivait: Bonjour, Désolé c'est hors sujet. J'ai un programme qui calcul plein de truc et que j'ai lancé depuis 1 semaine, je ne veux donc pas l'arreter, ni le faire planter. Ce programme écrit un fichier fort.68 (oui c'est codé en fortran). Ce fichier fait à ce jour 1,2 GO et mon home se réduit à vue d'oeil (d'où ma panique). Comment faire pour vider ce fichier sans le détruire ? En effet j'ai essayé de faire une lien dont le nom était le nom du fichier et dont la cible était sur une autre partition, mais problème : la création du lien ne fut pas assez rapide, donc plantage du calcul (j'ai plusieurs calculs qui tournent). Après ce cuisant échec et la semaine de boulot perdu qui va avec, j'ai un peu peur de faire des bêtises, d'où ma démarche de venir ici vous demander... (alternative en fin de message, tu peux zapper tout le début si tu veux) Si mes souvenirs sont bons: Tant que le fichier reste ouvert, tu vas avoir du mal... Petit pré-requis: Une fois un fichier ouvert (en écriture ou en lecture), seul son inode a une existance pour le programme. Ni son nom, ni le répertoire dans lequel il se trouve n'a d'importance. - Si tu fais un rm: Le fichier deviens invisible pour tout le monde, sauf pour ton programme qui écrit dedans, et pour ta partition. En gros, il bouffe de la place mais tu ne peux rien y faire. - Si tu fais un mv: Deux options: - C'est sur la même partition: Pas de soucis, le n° d'inode reste le même, ton fichier (et la partition associée) continue(nt) de grossir - C'est sur une autre partition: Ça fait comme un cp puis un rm, retour à la case départ. - Si tu fais un : Là, c'est un peu plus compliqué. Si ton programme écrit en append, il se peut (a vérifier selon le fs et autres paramètres que je ne maîtrise plus depuis trop longtemps) que ton programme se remette à écrire depuis 0, donc tu as gagné (tout en ayant perdu le contenu). Si il n'écris pas en append, mais qu'il est en w seulement... je sais pas. En gros, il serait préférable que tu modifie ton code fortran pour qu'il referme de temps en temps le fichier, et si c'est pas possible alors lance ton prog avec un pipe ou un named pipe, de façon à ce que le second process (celui qui va effectivement écrire sur le disque) accepte de faire un close/open de son fichier de sortie. *ALTERNATIVE* Pourquoi ne pas déplacer tout le reste et laisser le fichier grossir? Tu crées des liens symboliques pour toutes les choses de ton /home qui peuvent être déplacées, pour laisser grossir tranquillement ton fichier. En espérant n'avoir pas dit trop de conneries, et que ça puisse aider.