易截截图软件、单文件、免安装、纯绿色、仅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 top 命令 详解

 
top命令用来显示系统当前的进程和其它状况;它是一个动态显示过程,即用户可通过按键来不断的刷新当前的状态,如果在前台执行命令他会独占前台。直到用户终止该程序为止。比较准确的说,top命令提供了实时对系统处理器的状态监视。它将显示CPU最敏感的任务列表。该命令可以按CPU使用,内粗使用,和执行时间对任务进 ......

linux下网络流量监控工具二


因为做linux常常会要做linux下的流量查看,下面的三个方法能很好的解决当前流量查看
iftop工具
用途: 用来即时监看网路状态和各ip所使用的频宽
iftop 官方网站:
http://www.ex-parrot.com/~pdw/iftop/
安装iftop,,必须先安装libpcap
http://www.tcpdump.org/release/
wget http://www.tcpdump.org/release/libpc ......

VIM+GDB linux c/c++ 的编程利器

 VIM+GDB linux c/c++ 的编程利器
http://blog.csdn.net/jackyvan/archive/2010/01/15/5193693.aspx
其实VIM也能把编译 调试集成在一起,像是一个IDE一样。
首先现在VIM的源码,因为要集成调试环境的话需要重新编译VIM才行,所以我们不如重新安装一个。
VIM的现在地址:
http://www.vim.org/sources.php
然后下 ......

一些高效的Linux命令行操作


1.
查找Java
项目中,main
方法定义在哪个文件
里.
  切换到你要查找项目的目录下执行
  grep -rlI '\
  如果你觉得自己打字快,不怕麻烦执行如下命令也可以找到该文件
  find -type f -name *.java -exec grep -l '\
2
快速的建立一个文件,并输入一些内容
  cat >> filename
,输入一 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号