Suite à mes interrogations sur les pipes en C, j'ai un autre petit
truc à vous soumettre... J'ai googlisé, RTFMer sans trop de succès.
Comment puis-je à partir d'un programme écrit en C surveiller qu'un
processus n'est pas mort (en fait, le processus fils généré par le
fork(), pour pouvoir fermer mon pipe() du côté du père.) ?
J'aimerais aussi que ce soit portable...
Suite à mes interrogations sur les pipes en C, j'ai un autre petit truc à vous soumettre... J'ai googlisé, RTFMer sans trop de succès. Comment puis-je à partir d'un programme écrit en C surveiller qu'un processus n'est pas mort (en fait, le processus fils généré par le
Peut être avec un kill 0 ? Le man dit:
If sig is 0, then no signal is sent, but error checking is still performed.
Désolé, j'ai pas le temps de tester, mes sardines m'appellent...
JKB wrote:
Bonjour à tous,
Suite à mes interrogations sur les pipes en C, j'ai un autre petit
truc à vous soumettre... J'ai googlisé, RTFMer sans trop de succès.
Comment puis-je à partir d'un programme écrit en C surveiller qu'un
processus n'est pas mort (en fait, le processus fils généré par le
Peut être avec un kill 0 ? Le man dit:
If sig is 0, then no signal is sent, but error checking is
still performed.
Désolé, j'ai pas le temps de tester, mes sardines m'appellent...
Suite à mes interrogations sur les pipes en C, j'ai un autre petit truc à vous soumettre... J'ai googlisé, RTFMer sans trop de succès. Comment puis-je à partir d'un programme écrit en C surveiller qu'un processus n'est pas mort (en fait, le processus fils généré par le
Peut être avec un kill 0 ? Le man dit:
If sig is 0, then no signal is sent, but error checking is still performed.
Désolé, j'ai pas le temps de tester, mes sardines m'appellent...
DINH Viêt Hoà
Suite à mes interrogations sur les pipes en C, j'ai un autre petit truc à vous soumettre... J'ai googlisé, RTFMer sans trop de succès. Comment puis-je à partir d'un programme écrit en C surveiller qu'un processus n'est pas mort (en fait, le processus fils généré par le fork(), pour pouvoir fermer mon pipe() du côté du père.) ? J'aimerais aussi que ce soit portable...
si tu surveilles le processus, à partir du père, tu as le signal SIGCHLD qui te dit que le fils est mort.
mais en général, tu ne te prends pas de signal SIGPIPE quand le fils meurt si tu as ouvert un pipe() pour communiquer avec lui ?
-- DINH V. Hoa,
"tu as bientot 15 ans, faut que tu commences à être autonome" -- jul
Suite à mes interrogations sur les pipes en C, j'ai un autre petit
truc à vous soumettre... J'ai googlisé, RTFMer sans trop de succès.
Comment puis-je à partir d'un programme écrit en C surveiller qu'un
processus n'est pas mort (en fait, le processus fils généré par le
fork(), pour pouvoir fermer mon pipe() du côté du père.) ?
J'aimerais aussi que ce soit portable...
si tu surveilles le processus, à partir du père, tu as le signal
SIGCHLD qui te dit que le fils est mort.
mais en général, tu ne te prends pas de signal SIGPIPE quand le fils
meurt si tu as ouvert un pipe() pour communiquer avec lui ?
--
DINH V. Hoa,
"tu as bientot 15 ans, faut que tu commences à être autonome" -- jul
Suite à mes interrogations sur les pipes en C, j'ai un autre petit truc à vous soumettre... J'ai googlisé, RTFMer sans trop de succès. Comment puis-je à partir d'un programme écrit en C surveiller qu'un processus n'est pas mort (en fait, le processus fils généré par le fork(), pour pouvoir fermer mon pipe() du côté du père.) ? J'aimerais aussi que ce soit portable...
si tu surveilles le processus, à partir du père, tu as le signal SIGCHLD qui te dit que le fils est mort.
mais en général, tu ne te prends pas de signal SIGPIPE quand le fils meurt si tu as ouvert un pipe() pour communiquer avec lui ?
-- DINH V. Hoa,
"tu as bientot 15 ans, faut que tu commences à être autonome" -- jul
Eric Jacoboni
JKB writes:
Comment puis-je à partir d'un programme écrit en C surveiller qu'un processus n'est pas mort (en fait, le processus fils généré par le fork(), pour pouvoir fermer mon pipe() du côté du père.) ? J'aimerais aussi que ce soit portable...
Envoyer un kill(pid, 0) ?
-- Éric Jacoboni, né il y a 1406733205 secondes
JKB <knatschke@chezmoi.com> writes:
Comment puis-je à partir d'un programme écrit en C surveiller qu'un
processus n'est pas mort (en fait, le processus fils généré par le
fork(), pour pouvoir fermer mon pipe() du côté du père.) ?
J'aimerais aussi que ce soit portable...
Comment puis-je à partir d'un programme écrit en C surveiller qu'un processus n'est pas mort (en fait, le processus fils généré par le fork(), pour pouvoir fermer mon pipe() du côté du père.) ? J'aimerais aussi que ce soit portable...
Envoyer un kill(pid, 0) ?
-- Éric Jacoboni, né il y a 1406733205 secondes
FAb
JKB writes:
Bonjour à tous,
Suite à mes interrogations sur les pipes en C, j'ai un autre petit truc à vous soumettre... J'ai googlisé, RTFMer sans trop de succès. Comment puis-je à partir d'un programme écrit en C surveiller qu'un processus n'est pas mort (en fait, le processus fils généré par le fork(), pour pouvoir fermer mon pipe() du côté du père.) ? J'aimerais aussi que ce soit portable...
Cordialement,
JKB
Simple piste à tester mais là je n'ai pas trop le temps. Quand ton processus cible/fils clamse, le système récupère toutes les ressources simples dont les descripteurs de fichiers des pipes. Ton processus père recevra un équivalent de eof sur son pipe. *À tester* hein...
J'ai joué avec select et plusieurs clients tcp qui y en a un qui disparait comme un sagouin (le pauvre il a pas aimé le test du kill -KILL) mon serveur fait un 'read' qui retourne 0 bytes.
A+ Fab
JKB <knatschke@chezmoi.com> writes:
Bonjour à tous,
Suite à mes interrogations sur les pipes en C, j'ai un autre petit
truc à vous soumettre... J'ai googlisé, RTFMer sans trop de succès.
Comment puis-je à partir d'un programme écrit en C surveiller qu'un
processus n'est pas mort (en fait, le processus fils généré par le
fork(), pour pouvoir fermer mon pipe() du côté du père.) ?
J'aimerais aussi que ce soit portable...
Cordialement,
JKB
Simple piste à tester mais là je n'ai pas trop le temps.
Quand ton processus cible/fils clamse, le système récupère toutes les ressources
simples dont les descripteurs de fichiers des pipes. Ton processus père recevra
un équivalent de eof sur son pipe.
*À tester* hein...
J'ai joué avec select et plusieurs clients tcp qui y en a un qui disparait comme
un sagouin (le pauvre il a pas aimé le test du kill -KILL) mon serveur fait un
'read' qui retourne 0 bytes.
Suite à mes interrogations sur les pipes en C, j'ai un autre petit truc à vous soumettre... J'ai googlisé, RTFMer sans trop de succès. Comment puis-je à partir d'un programme écrit en C surveiller qu'un processus n'est pas mort (en fait, le processus fils généré par le fork(), pour pouvoir fermer mon pipe() du côté du père.) ? J'aimerais aussi que ce soit portable...
Cordialement,
JKB
Simple piste à tester mais là je n'ai pas trop le temps. Quand ton processus cible/fils clamse, le système récupère toutes les ressources simples dont les descripteurs de fichiers des pipes. Ton processus père recevra un équivalent de eof sur son pipe. *À tester* hein...
J'ai joué avec select et plusieurs clients tcp qui y en a un qui disparait comme un sagouin (le pauvre il a pas aimé le test du kill -KILL) mon serveur fait un 'read' qui retourne 0 bytes.
A+ Fab
JKB
Le 17-12-2004, à propos de Re: Surveiller la vie d'un processus (en C), Eric Jacoboni écrivait dans fr.comp.os.unix :
JKB writes:
Comment puis-je à partir d'un programme écrit en C surveiller qu'un processus n'est pas mort (en fait, le processus fils généré par le fork(), pour pouvoir fermer mon pipe() du côté du père.) ? J'aimerais aussi que ce soit portable...
Envoyer un kill(pid, 0) ?
Groumphfff... J'ai tout cherché et je l'avais sous les lunettes... Merci à tous,
JKB
Le 17-12-2004, à propos de
Re: Surveiller la vie d'un processus (en C),
Eric Jacoboni écrivait dans fr.comp.os.unix :
JKB <knatschke@chezmoi.com> writes:
Comment puis-je à partir d'un programme écrit en C surveiller qu'un
processus n'est pas mort (en fait, le processus fils généré par le
fork(), pour pouvoir fermer mon pipe() du côté du père.) ?
J'aimerais aussi que ce soit portable...
Envoyer un kill(pid, 0) ?
Groumphfff... J'ai tout cherché et je l'avais sous les lunettes...
Merci à tous,
Le 17-12-2004, à propos de Re: Surveiller la vie d'un processus (en C), Eric Jacoboni écrivait dans fr.comp.os.unix :
JKB writes:
Comment puis-je à partir d'un programme écrit en C surveiller qu'un processus n'est pas mort (en fait, le processus fils généré par le fork(), pour pouvoir fermer mon pipe() du côté du père.) ? J'aimerais aussi que ce soit portable...
Envoyer un kill(pid, 0) ?
Groumphfff... J'ai tout cherché et je l'avais sous les lunettes... Merci à tous,
JKB
John Mackerel
JKB wrote:
Envoyer un kill(pid, 0) ?
Groumphfff... J'ai tout cherché et je l'avais sous les lunettes...
T'as des lunettes maintenant ? C'est pour faire peur aux chats ?
JKB wrote:
Envoyer un kill(pid, 0) ?
Groumphfff... J'ai tout cherché et je l'avais sous les lunettes...
T'as des lunettes maintenant ? C'est pour faire peur aux chats ?
mais en général, tu ne te prends pas de signal SIGPIPE quand le fils meurt si tu as ouvert un pipe() pour communiquer avec lui ?
On a un SIGPIPE quand on essaye d'écrire dans un PIPE et que l'autre extremité est fermée.
Eric Jacoboni
JKB writes:
Envoyer un kill(pid, 0) ?
Groumphfff... J'ai tout cherché et je l'avais sous les lunettes...
Cela dit, comme on l'a dit plus haut, le détournement de SIGCHLD me semble plus "propre" lorsqu'il s'agit, pour un père, de savoir que son fils est mort.
-- Éric Jacoboni, né il y a 1406734591 secondes
JKB <knatschke@chezmoi.com> writes:
Envoyer un kill(pid, 0) ?
Groumphfff... J'ai tout cherché et je l'avais sous les lunettes...
Cela dit, comme on l'a dit plus haut, le détournement de SIGCHLD me
semble plus "propre" lorsqu'il s'agit, pour un père, de savoir que son
fils est mort.
Groumphfff... J'ai tout cherché et je l'avais sous les lunettes...
Cela dit, comme on l'a dit plus haut, le détournement de SIGCHLD me semble plus "propre" lorsqu'il s'agit, pour un père, de savoir que son fils est mort.
-- Éric Jacoboni, né il y a 1406734591 secondes
Jogo
Le 17 déc. 2004, JKB a écrit dans fr.comp.os.unix :
Comment puis-je à partir d'un programme écrit en C surveiller qu'un processus n'est pas mort (en fait, le processus fils généré par le fork(), pour pouvoir fermer mon pipe() du côté du père.) ?
Lorsque le fils meurt, il envoie un signal SIGCHILD au père. A toi de l'intercepter (cf kill, trap etc...).
Le 17 déc. 2004, JKB a écrit dans fr.comp.os.unix :
Comment puis-je à partir d'un programme écrit en C surveiller qu'un
processus n'est pas mort (en fait, le processus fils généré par le
fork(), pour pouvoir fermer mon pipe() du côté du père.) ?
Lorsque le fils meurt, il envoie un signal SIGCHILD au père. A toi de
l'intercepter (cf kill, trap etc...).
Le 17 déc. 2004, JKB a écrit dans fr.comp.os.unix :
Comment puis-je à partir d'un programme écrit en C surveiller qu'un processus n'est pas mort (en fait, le processus fils généré par le fork(), pour pouvoir fermer mon pipe() du côté du père.) ?
Lorsque le fils meurt, il envoie un signal SIGCHILD au père. A toi de l'intercepter (cf kill, trap etc...).
JKB
Le 17-12-2004, à propos de Re: Surveiller la vie d'un processus (en C), Eric Jacoboni écrivait dans fr.comp.os.unix :
JKB writes:
Envoyer un kill(pid, 0) ?
Groumphfff... J'ai tout cherché et je l'avais sous les lunettes...
Cela dit, comme on l'a dit plus haut, le détournement de SIGCHLD me semble plus "propre" lorsqu'il s'agit, pour un père, de savoir que son fils est mort.
Je crois que c'est ce que je vais faire. kill(pid, 0) me renvoie un code d'erreur non documenté (122 !).
Merci à tous,
JKB
Le 17-12-2004, à propos de
Re: Surveiller la vie d'un processus (en C),
Eric Jacoboni écrivait dans fr.comp.os.unix :
JKB <knatschke@chezmoi.com> writes:
Envoyer un kill(pid, 0) ?
Groumphfff... J'ai tout cherché et je l'avais sous les lunettes...
Cela dit, comme on l'a dit plus haut, le détournement de SIGCHLD me
semble plus "propre" lorsqu'il s'agit, pour un père, de savoir que son
fils est mort.
Je crois que c'est ce que je vais faire. kill(pid, 0) me renvoie un
code d'erreur non documenté (122 !).
Le 17-12-2004, à propos de Re: Surveiller la vie d'un processus (en C), Eric Jacoboni écrivait dans fr.comp.os.unix :
JKB writes:
Envoyer un kill(pid, 0) ?
Groumphfff... J'ai tout cherché et je l'avais sous les lunettes...
Cela dit, comme on l'a dit plus haut, le détournement de SIGCHLD me semble plus "propre" lorsqu'il s'agit, pour un père, de savoir que son fils est mort.
Je crois que c'est ce que je vais faire. kill(pid, 0) me renvoie un code d'erreur non documenté (122 !).