Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
rene-marc
Al 1 :
si l'utilisateur efface le fichier /root/redirect, celui-ci continue à résider sur le disque tant que A et B n'ont pas fini de tourner (et théoriquement ils ne s'arrêtent jamais puisque B est un serveur).
Si les process ferment le fichier de temps en temps, y'a pas de raison que la place ne soit pas libéré.
Al 1 <ol1@free.xx> :
si l'utilisateur efface le fichier /root/redirect, celui-ci continue à
résider sur le disque tant que A et B n'ont pas fini de tourner (et
théoriquement ils ne s'arrêtent jamais puisque B est un serveur).
Si les process ferment le fichier de temps en temps, y'a pas de raison
que la place ne soit pas libéré.
si l'utilisateur efface le fichier /root/redirect, celui-ci continue à résider sur le disque tant que A et B n'ont pas fini de tourner (et théoriquement ils ne s'arrêtent jamais puisque B est un serveur).
Si les process ferment le fichier de temps en temps, y'a pas de raison que la place ne soit pas libéré.
[Sauron De Mordor]
Al 1 wrote:
bonjour
je voudrais recréer un inode sous Linux. Je m'explique :
je lance un programme A. Celui-ci redirige stdout vers un fichier /root/redirect , et lance un programme B (fork).
si l'utilisateur efface le fichier /root/redirect, celui-ci continue à résider sur le disque tant que A et B n'ont pas fini de tourner (et théoriquement ils ne s'arrêtent jamais puisque B est un serveur).
la solution pour regagner de la place disque étant de faire par exemp le
/root/redirect
si le fichier a été effacé, il n'y a plus moyen !
kill -1 le process
est-il donc possible de recréer un inode à partir de A ?
non
Merci de vos réponses
Al 1 wrote:
bonjour
je voudrais recréer un inode sous Linux. Je m'explique :
je lance un programme A. Celui-ci redirige stdout vers un fichier
/root/redirect , et lance un programme B (fork).
si l'utilisateur efface le fichier /root/redirect, celui-ci continue à
résider sur le disque tant que A et B n'ont pas fini de tourner (et
théoriquement ils ne s'arrêtent jamais puisque B est un serveur).
la solution pour regagner de la place disque étant de faire par exemp le
/root/redirect
si le fichier a été effacé, il n'y a plus moyen !
kill -1 le process
est-il donc possible de recréer un inode à partir de A ?
je voudrais recréer un inode sous Linux. Je m'explique :
je lance un programme A. Celui-ci redirige stdout vers un fichier /root/redirect , et lance un programme B (fork).
si l'utilisateur efface le fichier /root/redirect, celui-ci continue à résider sur le disque tant que A et B n'ont pas fini de tourner (et théoriquement ils ne s'arrêtent jamais puisque B est un serveur).
la solution pour regagner de la place disque étant de faire par exemp le
/root/redirect
si le fichier a été effacé, il n'y a plus moyen !
kill -1 le process
est-il donc possible de recréer un inode à partir de A ?
non
Merci de vos réponses
Manu
Al 1 wrote:
est-il donc possible de recréer un inode à partir de A ?
A priori non.
Mais tu peux t'assurer qu'il ne soit pas effacé, ou essayer de rendre son effacement plus difficile. Tu peux peut-être supprimer tout les droits du fichier avec un fchmod, ou bien jouer avec chattr (voir les ioctl pour ça). Changer les droits du répertoire pour interdire la suppression du fichier. Autre solution tu créé un lien (non symbolique) dans un lieu "protégé" et à la sortie du programme ou de temps à autre tu vérifies que ton fichier existe. S'il n'existe plus tu récréé un lien.
Al 1 wrote:
est-il donc possible de recréer un inode à partir de A ?
A priori non.
Mais tu peux t'assurer qu'il ne soit pas effacé, ou essayer de rendre
son effacement plus difficile.
Tu peux peut-être supprimer tout les droits du fichier avec un fchmod,
ou bien jouer avec chattr (voir les ioctl pour ça). Changer les droits
du répertoire pour interdire la suppression du fichier.
Autre solution tu créé un lien (non symbolique) dans un lieu "protégé"
et à la sortie du programme ou de temps à autre tu vérifies que ton
fichier existe. S'il n'existe plus tu récréé un lien.
est-il donc possible de recréer un inode à partir de A ?
A priori non.
Mais tu peux t'assurer qu'il ne soit pas effacé, ou essayer de rendre son effacement plus difficile. Tu peux peut-être supprimer tout les droits du fichier avec un fchmod, ou bien jouer avec chattr (voir les ioctl pour ça). Changer les droits du répertoire pour interdire la suppression du fichier. Autre solution tu créé un lien (non symbolique) dans un lieu "protégé" et à la sortie du programme ou de temps à autre tu vérifies que ton fichier existe. S'il n'existe plus tu récréé un lien.
Al 1
rene-marc a écrit:
Si les process ferment le fichier de temps en temps, y'a pas de raison que la place ne soit pas libéré.
le process 'B' n'a aucune raison de fermer ce fichier qui est sa sortie standard
rene-marc a écrit:
Si les process ferment le fichier de temps en temps, y'a pas de raison
que la place ne soit pas libéré.
le process 'B' n'a aucune raison de fermer ce fichier qui est sa sortie
standard
Les 0 avant, c'est le vide créé par ">redirect". En fait c'est vrai que ce vide ne prend pas de place sur le file-système mais c'est pas beau quand même.
Le pb que tu soulèves est celui de la rotation des logs, je ne pense pas qu'il y ait de manière propre sans que le serveur soit impliqué. Ou alors si tu peux faire que redirect soit un tube nomé, tu lances un autre processus pour lire ce tube et là tu as le contrôle de la situation.
cordialement
-- Emmanuel Chantréau 100% des gens sont dans une minorité de moins de 5% des gens.
Al 1 écrit:
bonjour
je voudrais recréer un inode sous Linux. Je m'explique :
...
est-il donc possible de recréer un inode à partir de A ?
Si j'ai bien compris, tu te trompes. En remettant le fichier à 0
on ne change pas l'endroit où écrit le serveur. Démonstration:
Les 0 avant, c'est le vide créé par ">redirect". En fait c'est vrai que ce
vide ne prend pas de place sur le file-système mais c'est pas beau quand
même.
Le pb que tu soulèves est celui de la rotation des logs, je ne pense pas
qu'il y ait de manière propre sans que le serveur soit impliqué. Ou alors
si tu peux faire que redirect soit un tube nomé, tu lances un autre
processus pour lire ce tube et là tu as le contrôle de la situation.
cordialement
--
Emmanuel Chantréau
100% des gens sont dans une minorité de moins de 5% des gens.
Les 0 avant, c'est le vide créé par ">redirect". En fait c'est vrai que ce vide ne prend pas de place sur le file-système mais c'est pas beau quand même.
Le pb que tu soulèves est celui de la rotation des logs, je ne pense pas qu'il y ait de manière propre sans que le serveur soit impliqué. Ou alors si tu peux faire que redirect soit un tube nomé, tu lances un autre processus pour lire ce tube et là tu as le contrôle de la situation.
cordialement
-- Emmanuel Chantréau 100% des gens sont dans une minorité de moins de 5% des gens.