我正在将文件作为守护进程执行。我怎样才能停止守护进程?
int main(int argc, char **argv)
{
if ( argc != 5 )
{
printf ("Usage: %s <server> <nick> <channel> <logging>\n", argv[0]);
return 1;
}
char *startPath = malloc(sizeof(char) *100);
strcpy(startPath,"/home/.../start");
int child_pnr;
if(daemonisieren() != 0)
{
printf("damonization not possible");
exit(0);
}
printf("I am a damon \n");
if((child_pnr = fork())==0)
{
execve(startPath,argv);
}
else if (child_pnr > 0)
{
printf("I am parent and have a child \n");
wait(child_pnr);
}
printf("gone....\n");
free(startPath);
}
我想我可以像 kill(childnr) 一样杀死它,但是当父进程等待子进程完成执行时,他可能永远不会这样做,我必须有一个知道 childnr 并杀死它的程序。我怎样才能做到这一点?