易截截图软件、单文件、免安装、纯绿色、仅160KB

linux 守护进程


int Daemon(char* szExecName = NULL)
{
 int res = 0;
 pid_t pc;
 pc = fork();
 if(pc < 0)
 {
  fprintf(stderr,"ERROR_Deamon()_fork(): failed!");
  return -1;
 }
 else if(pc == 0) //sub process
 {
 }
 else if(pc > 0)  //parent process
 {
  fprintf(stderr,"parent process exit!\n");
  sleep(2);
  exit(0);
 }
 res = setsid();
 if(res == -1)
 {
  fprintf(stderr,"ERROR_Deamon()_setsid(): errno = %d\n", errno);
  return -1;
 }
 if(pc=fork())
  exit(0);//是第一子进程,结束第一子进程
 else if(pc< 0)
  exit(1);//fork失败,退出
 //是第二子进程,继续
 //第二子进程不再是会话组长
 // for maybe its path is not current path when run.
 char szModulePath[MAX_PATH] = {0};
 GetModuleFileName(szExecName, szModulePath, sizeof(szModulePath));
 res = chdir(szModulePath);
 if(res == -1)
 {
  fprintf(stderr,"ERROR_Deamon()_chdir(): path = %s, errno = %d\n", szModulePath, errno);
  return -1;
 }
 umask(0);
 //for(int i = 0; i < MAXFILE; i++)
// {
  //close(i);
 //}
 return 0;
}Dstlen)
  *szTmp = '\0';
 return i;
}
1.获取程序运行的绝对路径
int GetModuleFileName(char* sModuleName, char* sModulePath, int nSize)
{
 int ret = -1;
 char* p = getenv("_");
 if(p != NULL && strstr(p, sModuleName) != NULL)
 {
  realpath(p, sModulePath);
  char* p = strrchr(sModulePath, '/');
  p[1] = '\0';
  ret = 0;
 }
 else
 {
  realpath(sModuleName, sModulePath);
  char* p = strrchr(sModuleP/');
  p[1] = '\0';
  ret = 0;
 }
 return ret;
}


相关文档:

实战Linux Bluetooth编程 (七) SDP协议

Service Discovery Protocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。
服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetooth client发现可用bluetooth server服务和它们的特征的方法。 ......

Linux设备模型之input子系统详解

一:前言
最近在研究android的sensor driver,主要是E-compass,其中用到了Linux input子系统.在网上也看了很多这方面的资料,感觉还是这篇分析的比较细致透彻,因此转载一下以便自己学习,同时和大家分享!
(这篇博客主要是以键盘驱动为例的,不过讲解的是Linux Input Subsystem,可以仔细的研究一下!)
键盘驱动将检 ......

linux下文件的颜色

普通文件, 常见的文本文件和设置文件--白色
可执行文件 文件名后附加 * 绿色
目录文件, 文件名后加 / 蓝色
符号链接文件, 文件名后加 @ 浅蓝色
压缩文件 ......

linux 下php的安装

    
环境软件版本介绍:
 
   APACHE 2.0.59
   PHP5.2.3
   MYSQL5.0.45
   GD-2.0.35
   Zend Optimizer v3.3.0
  
               &n ......

linux下网络流量监控工具

测量网卡的网络流量,linux下有两款小工具nload和iftop
下载源文件后configue && make && make install
个人比较喜欢iftop,它能动态的用简单的ASC图标识网卡当前流量
首行是网络流量刻度,
中间是与其它机器的流量,有个白底的bar直观的标识流量变化,后三列数据分别表示:
1. preceding 2 seco ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号