fork(), execve(), ...

Robert Vojta vojta na ipex.cz
Středa Duben 11 12:37:03 CEST 2001


Zdravim,
  mam jeden program, ktery se forkne, jeho dite neco vyrabi a rodic se ukonci
bez cekani na konec ditete. No a ja potrebuju napsat wrapper, ktery bude
tento program poustet, ale bude cekat na stav ditete toho programu. Tj.
neco takoveho:

  muj wrapper
      |
  pid = fork()
      |
      | -- child --> execve()
      |      tady pustim puvodni program
      |                 |
      |        signal(SIGCLD,SIG_IGN)
      |               fork()
      |                 |
      |                 | -- child --> tady neco dela  (dite B)
      |                 |
      |      ukonci se bez cekani na dite
      |
 waitforpid(pid,...)
      |
  no a tady cekam na to, az se ukonci puvodni program, resp. moje dite,
jenze to se ukonci jeste driv nez dite (B) puvodniho programu. Potrebuju
po ukonceni behu ditete (B) provest nejakou akci (zavisla na dokonceni toho
ditete B) a az potom ukoncit wrapper. Napada nekoho neco jak na to? Spis
bych si tipl, ze to nejak normalne nepujde ... 
                   
  R.obot.V

P.S. Samozrejme puvodni program nemuzu modifikovat.

-- 
   _
  |-|  __      Robert Vojta <vojta na ipex.cz>          -= Oo.oO =-
  |=| [Ll]     IPEX, s.r.o.
  "^" ====`o


Další informace o konferenci Linux