Linux
letterwuyu
Linux c c++ python java
分布式存储&消息队列&计算
展开
-
Linux 回收用户空间资源
在Linux系统下,可以通过一下方式结束进程1、显示调用exit或_exit系统调用2、在main函数中执行return语句3、隐含地离开main函数进程在正常退出前都需要执行注册的退出处理函数,刷新缓冲刘等操作,然后释放进程用户空间所有资源,而进程控制块PCB并不在这是释放一、exit与return的区别1、return表示退出当前函数,exit表示退出当前进程,原创 2016-04-26 15:04:34 · 1427 阅读 · 0 评论 -
安装devtoolset来满足gcc不同版本的要求
在绝大多数情况下编译一些东西还是够用的,但还是有个别软件对gcc的版本是有要求的,例如rethinkdb这个东西,就要求4.8.2以上的版本,为什么呢?因为要用c++11特性,这个在CentOS6中的默认gcc版本是不支持的。要解决这个问题一般有两种方法:1、手动编译gcc>4.8的版本2、安装devtoolset第一种方法相对来说耗时耗力,适合真的想折腾的同学,第二种方法是偷懒用的,可以快...转载 2018-05-17 11:59:58 · 5133 阅读 · 0 评论 -
编译 Linux Kernel
内核编译1、下载kernel源码2、安装编译所需yum install gccyum install ncurses ncurses-develyum install elfutils-libelf-devel3、将源码拷贝到/usr/src目录下4、删除上一次编译内核产生的文件make mrproper #命令会删除所有的编译生成文件、内核配置文件(.config文件)和各种备份文件 ...原创 2018-04-02 18:57:30 · 518 阅读 · 0 评论 -
Linux KSM
转载:http://www.cnblogs.com/zhangzhang/archive/2012/05/23/2514336.html简介:作为一个系统管理程序(hypervisor),Linux® 有几个创新,2.6.32 内核中一个有趣的变化是 KSM(Kernel Samepage Merging) 允许这个系统管理程序通过合并内存页面来增加并发虚拟机的数量。本文探索 KSM 背后的理念...转载 2018-04-01 19:36:36 · 7525 阅读 · 0 评论 -
Linux 块设备驱动
链接:http://m.blog.csdn.net/article/details?id=51585490刚接触一下,发现作者的代码写错了,改一点点,总之受益匪浅#include #include #include #include #include #include static int sampleblk_major;#define SAMPLEBLK_MINOR 1转载 2017-02-04 09:58:22 · 652 阅读 · 0 评论 -
Linux 共享库:LD_LIBRARY_PATH 与ld.so.conf
LD_LIBRARY_PATH Linux环境变量名,该环境变量主要用于指定查找共享库(动态链接库)时除了默认路径之外的其他路径。(该路径在默认路径之前查找) 移植程序时的经常碰到需要使用一些特定的动态库,而这些编译好的动态库放在我们自己建立的目录里,这时可以将这些目录设置到LD_LIBRARY_PATH中。 当执行函数动态链接.so时,如果此文件不在缺省目录下‘转载 2017-09-11 22:04:02 · 389 阅读 · 0 评论 -
Linux ccache加速C/C++编辑
ccache(“compiler cache”的缩写)也是一个编译器驱动器。第一趟编译时ccache缓存了GCC的“-E”输出、编译选项以及.o文件到$HOME/.ccache。第二次编译时尽量利用缓存,必要时更新缓存。所以即使"make clean; make"也能从中获得好处。ccache是经过仔细编写的,确保了与直接使用GCC获得完全相同的输出。ccache工具会高速缓存编译生成的信息,并原创 2017-08-14 00:44:04 · 1261 阅读 · 0 评论 -
修改进程用户相关信息
/*修改进程用户相关信息 *进程的用户的相关信息有UID,EUID,GID,EGID *UID,GUID 进程的真实用户即运行此程序的用户和组 *EUID,EGID 进程的有效用户和组,主要和进程的权限有关,即进程在运行时进程所拥有的权限和其 *EUID的权限是一样的,也就是说进程所拥有的权限不一定和执行此进程的用户一样,但几乎所有情况 *是一样的//*access核实用户原创 2016-05-03 15:44:01 · 798 阅读 · 0 评论 -
Linux 回收内核空间资源
上一篇进程退出时释放了用户空间资源,但进程PCB和in个没有释放,这一工作显然不是有自己完成的,而是有当前进程的附近承完成的,附近承可以显式调用wait()和waitpid()函数完成一、wait()等待子进程结束调用wait函数的父进程将阻塞式等待该进程的任意一个子进程结束后莫回首该子进程的内核进程资源extern _pid_t wait(_WAIT_SATSUS _stat_loc原创 2016-04-26 16:58:20 · 602 阅读 · 0 评论 -
linux 同步IO: sync、fsync与fdatasync
传统的UNIX实现在内核中设有缓冲区高速缓存或页面高速缓存,大多数磁盘I/O都通过缓冲进行。当将数据写入文件时,内核通常先将该数据复制到其中一个缓冲区中,如果该缓冲区尚未写满,则并不将其排入输出队列,而是等待其写满或者当内核需要重用该缓冲区以便存放其他磁盘块数据时,再将该缓冲排入输出队列,然后待其到达队首时,才进行实际的I/O操作。这种输出方式被称为延迟写(delayed write)(Bach ...原创 2018-07-05 15:01:33 · 663 阅读 · 1 评论