daemon.c
上传用户:sy_wanhua
上传日期:2013-07-25
资源大小:3048k
文件大小:2k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

C/C++

  1. /*----------------------------------------------------------------------*
  2.   daemon.c                                                 
  3.   
  4.   This module has the functions needed for a program to become a daemon.
  5.   Copyright (c) 1997-1999 Quicknet Technologies, Inc.
  6.     
  7.   Written by Greg Herlein <gherlein@quicknet.net>, donated to Quicknet
  8.   Technologies, Inc. 6/10/99. 
  9.   
  10.  * This is free software; you can redistribute it and/or
  11.  * modify it under the terms of the GNU Lesser General Public
  12.  * License (LGPL) as published by the Free Software Foundation; either
  13.  * version 2 of the License, or (at your option) any later version.
  14.  *
  15.  * This software is distributed in the hope that it will be useful,
  16.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  17.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  18.  * General Public License for more details.
  19.  *
  20.  * You should have received a copy of the GNU Lesser General Public
  21.  * License along with this library; if not, write to the
  22.  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  23.  * Boston, MA 02111-1307, USA.  It is also available online at 
  24.  * http://www.gnu.org/copyleft/lesser.html
  25. /*-------------------------------< RCS >--------------------------------*/
  26. static char RCS_ID[] = "$Id: daemon.c,v 1.1.1.1 1999/07/16 01:26:02 bogawa Exp $";
  27. /*----------------------------< Defines >-------------------------------*/
  28. /*----------------------------< Includes >------------------------------*/
  29. /* stdlib */
  30. #include <unistd.h>
  31. #include <sys/types.h>
  32. #include <sys/stat.h>
  33. #include <fcntl.h>
  34. /* other */
  35. #include "daemon.h"
  36. /*---------------------------< Definitions >----------------------------*/
  37. /*--------------------------< Declarations >----------------------------*/
  38. /*------------------------< Global Variables >--------------------------*/
  39. /*-------------------------< Local Variables >--------------------------*/
  40. /*----------------------------------------------------------------------*/
  41. int
  42. daemon_init(void)
  43. {
  44.   pid_t               pid;
  45.   
  46.   pid=fork();
  47.   if(pid<0) return -1;
  48.   else if(pid!=0) exit(0); /* parent exits */
  49.   /* child continues and become session leader */
  50.   setsid();                      
  51.   return 0;
  52. }