Linux系统编程
文章平均质量分 62
shiyicode
已弃用! 可以通过shiyi@threebody.xyz联系我
展开
-
Linux内存管理机制
在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然。这是Linux内存管理的一个优秀特性,主要特点是,无论物理内存有多大,Linux 都将其充份利用,将一些程序调用过的硬盘数据读入内存(buffer/cache),利用内存读写的高速特性来提高Linux系统的数据访问性能。在这方面,区别于Windows的内存管理。本文从Linux的内存管理机制入手,简单转载 2017-02-16 04:07:24 · 4751 阅读 · 2 评论 -
linux之fcntl&flock建议锁的操作
前言当我们要进行多进程编程的时候,经常存在多个进程需要访问同一个文件的情况,因此会产生进程间访问不一致的问题,那么我们可以用到fcntl函数,我们可以用它来对文件或者文件的一部分进行上锁。 #include <unistd.h> #include <fcntl.h> int fcntl(int fd, int cmd, ... /* arg */ );fcntl 可以施加建议性锁,也原创 2016-10-12 22:33:10 · 1871 阅读 · 0 评论 -
linux之创建守护进程
简介 守护进程是一种运行在后台的特殊进程,它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。 其实,本质上守护进程和普通的进程并没有什么区别,只是我们规定了一种进程的编写规则,将其叫做守护进程,仅此而已。特点1. 在后台运行 为了不让其阻塞终端,我们用fork()创建子进程,然后退出父进程,就可以完成在后台运行的目的。2. 脱离控制终端,创建新的会话组和进程组原创 2016-10-17 17:48:49 · 1915 阅读 · 1 评论 -
Linux上定时器的实现
方法1. 使用sleep或者usleep这种方法很简单,这里就不具体描述,它的缺点也很明确:精度不够,特别是在系统负载比较大时,会发生超时现象。方法2. 使用信号量SIGALRM + alarm()alarm也称为闹钟函数,alarm()用来设置在经过参数seconds指定的秒数后传送信号SIGALRM给目前的进程。如果参数seconds为0,则之前设置的闹钟会被取消,并将剩下的时间返回。要注意的是原创 2017-03-02 23:06:51 · 2324 阅读 · 0 评论