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下有两款小工具nload和iftop
下载源文件后configue && make && make install
个人比较喜欢iftop,它能动态的用简单的ASC图标识网卡当前流量
首行是网络流量刻度,
中间是与其它机器的流量,有个白底的bar直观的标识流量变化,后三列数据分别表示:
1. preceding 2 seco ......
因为做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 ......
linux 下安装oracle 是一件很令人头疼的事情,我把自己的安装步骤拿出来给大家分享一下。
一.linux服务端的安装.
1.下载oracle服务端软件,下载网址如下
http://www.oracle.com/technology/software/products/database/index.html
我选择的版本是:Oracle Database 10g Release 2 (10.2.0.1.0) for Linux x86-64
......
1. 查找Java项目中,main方法定义在哪个文件里.
切换到你要查找项目的目录下执行
grep -rlI '\
如果你觉得自己打字快,不怕麻烦执行如下命令也可以找到该文件
find -type f -name *.java -exec grep -l '\
2 快速的建立一个文件,并输入一些内容
cat >> filename ,输入一些内容然 ......