linux下C的一些开发技巧总结
2014-05-05 16:42
344 查看
1、判断本机是32位还是64位:
2、设置当前进程的最大文件描述符限制:
3、创建守护进程
(sizeof(long) == 8) ? 64 : 32;
2、设置当前进程的最大文件描述符限制:
/*http://www.cnblogs.com/niocai/archive/2012/04/01/2428128.html *设定资源使用限制。每种资源都有相关的软硬限制,软限制是内核强加给相应资源的限制值, * 硬限制是软限制的最大值。非授权调用进程只可以将其软限制指定为0~硬限制范围中的某个值, * 同时能不可逆转地降低其硬限制。授权进程可以任意改变其软硬限制。 *RLIM_INFINITY的值表示不对资源限制 *下面的函数将当前进程的描述符修改为iMaxNum,如果当前的描述符最大值已经超过了iMaxNum就不再修改; *如果iMaxNum大于原来的描述符限制值,则采用试探的方式进行设置 *----------by jason.hou*/ void setFileOperaterNum(int iMaxNum, int iStep) { rlim_t maxfiles = iMaxNum; struct rlimit limit; if (getrlimit(RLIMIT_NOFILE,&limit) == -1) { printf("Unable to obtain the current NOFILE limit (%s), assuming 1024 ", strerror(errno)); } else { rlim_t oldlimit = limit.rlim_cur; if (oldlimit < maxfiles) { rlim_t f; f = maxfiles; while(f > oldlimit) { limit.rlim_cur = f; limit.rlim_max = f; if (setrlimit(RLIMIT_NOFILE,&limit) != -1) break; f -= iStep; } } } }
3、创建守护进程
void daemonize(void) { int fd; if (fork() != 0) exit(0); /* parent exits */ setsid(); /* create a new session */ if ((fd = open("/dev/null", O_RDWR, 0)) != -1) { dup2(fd, STDIN_FILENO); dup2(fd, STDOUT_FILENO); dup2(fd, STDERR_FILENO); if (fd > STDERR_FILENO) close(fd); } }
相关文章推荐
- 总结项目开发中用到的一些css\html技巧
- 前端开发中一些常用技巧总结
- 前端开发中一些常用技巧总结
- 前端开发中一些常用技巧总结
- 总结Linux中一些实用性的shell技巧
- Linux嵌入式开发的一些总结
- WEB前端开发中一些常用技巧总结
- 总结的一些PHP开发中的技巧
- linux驱动程序开发第三版一些知识总结
- 移动端开发的一些技巧总结
- 前端开发中一些常用技巧总结
- Linux下的一些应用技巧总结:
- 项目开发中的一些注意事项以及技巧总结 基于Repository模式设计项目架构—你可以参考的项目架构设计 Asp.Net Core中使用RSA加密 EF Core中的多对多映射如何实现? asp.net core下的如何给网站做安全设置 获取服务端https证书 Js异常捕获
- Linux 下开发串口程序的一些总结
- 移动端开发的一些技巧总结(2)
- 前端开发中一些常用技巧总结
- 深度定制Python的Flask框架开发环境的一些技巧总结
- 开发中常用的Jquery的一些方法的总结