<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>Hello,<BR>
&nbsp;<BR>
can someone help me?<BR>
&nbsp;<BR>
I start a process via clone function but I don't know how to exit my child process without get a zombie...<BR>
&nbsp;<BR>
thank you in addvance<BR>
Sayangoin<BR>
&nbsp;<BR>
&nbsp;<BR>
&nbsp;<BR>
// source code.................<BR>
&nbsp;<BR>
#include &lt;signal.h&gt;<BR>#include &lt;stdio.h&gt;<BR>#include &lt;sys/types.h&gt;<BR>#include &lt;sys/wait.h&gt;<BR>#include &lt;sched.h&gt;<BR>#include &lt;unistd.h&gt;<BR>#include &lt;syscall.h&gt;&nbsp;&nbsp;&nbsp; // for syscall(SYS_getpid)<BR>#include &lt;syslog.h&gt;<BR>#include &lt;errno.h&gt;<BR>#include &lt;fcntl.h&gt;<BR>#include &lt;sys/stat.h&gt;<BR>
<BR>#include "logCtrl.h"<BR>
int transProcessId=0;<BR>char transStack[0x40000];<BR>
pid_t mypid;<BR>
<BR>int transProcess(){<BR>&nbsp; <BR>&nbsp; mypid = syscall(SYS_getpid);<BR>
&nbsp; printLog(logTRANS,"create transProc %i",mypid);&nbsp; <BR>
&nbsp; return 0;<BR>}<BR>
void startTransProcess(){<BR>&nbsp; <BR>&nbsp; mypid = syscall(SYS_getpid);<BR>
&nbsp; printLog(logMODUL1,"create transProc %i",mypid);<BR>
&nbsp; if(transProcessId&gt;0) transProcessId=0;&nbsp; // transProcessId initialisieren<BR>
&nbsp; transProcessId=clone(transProcess, &amp;transStack[sizeof(transStack)-10],CLONE_VM|CLONE_FILES|CLONE_FS , 0);<BR>
&nbsp; if(transProcessId&gt;0){<BR>&nbsp;&nbsp;&nbsp; printLog(logMODUL1,"transProc gestartet (PID: %d)",transProcessId);<BR>&nbsp; }<BR>&nbsp; else {<BR>&nbsp;&nbsp;&nbsp; printLog(logMODUL1,"transProc nicht startet (PID: %d)",transProcessId);&nbsp;<BR>&nbsp; }<BR>};<BR>
<BR>void modul1()<BR>{<BR>&nbsp; //printLog(logMODUL1,"Modul1");&nbsp; &nbsp;<BR>&nbsp;<BR>&nbsp; if (!transProcessId) startTransProcess();&nbsp;<BR>&nbsp; <BR>}<BR>
&nbsp;<BR>
int mainprog()<BR>{<BR>&nbsp; printLog(logMAIN,"Programm start");&nbsp; &nbsp;<BR>
&nbsp; while(1) {&nbsp; <BR>&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; modul1();<BR>&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; usleep(10*1000);<BR>&nbsp;&nbsp;&nbsp; <BR>&nbsp; }<BR>&nbsp; <BR>&nbsp; return 0;&nbsp; <BR>
}<BR>
<BR>&nbsp;<BR>
// -------------------------------------------------------------------------<BR>//&nbsp;&nbsp;&nbsp; <BR>// -------------------------------------------------------------------------<BR>//<BR>//<BR>// *******************************************************************************************<BR>//<BR>//<BR>// *******************************************************************************************<BR>//<BR>int main (int argc,char *argv[]){<BR>&nbsp;<BR>&nbsp; initLogCtrl();<BR>
&nbsp; mainprog();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp; return 0;<BR>&nbsp; <BR>}<BR><BR><br /><hr />Schon gesehen? Tolle Bilder von Sarah Connor gibt es hier! <a href='http://redirect.gimas.net/?cat=hmtl&n=M1007S&d=http://search.msn.de/images/results.aspx?q=Sarah%20Connor' target='_new'>Live Search</a></body>
</html>