摘要:如题,让电脑数数很简单,一个循环就能够搞定,但是如何是在一秒内完成?我们需要一个定时的东西→定时器函数:alarm(); 原型:unsigned int alarm(unsigned int seconds); 返回值:0或者剩下的秒数;无失败返回,即,几乎不出错。 常用于定时(废话),取消前一个定时器。定时器叼啊,自然定时法不管进程是个啥情况(僵尸,就绪,运行,挂起,阻塞,暂停,终止)都计时。 ...
阅读全文
摘要:守护进程 Daemon(精灵)进程,是Linux中的后台服务进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。一般采用以d结尾的名字。 Linux后台的一些系统服务进程,没有控制终端,不能直接和用户交互。不受用户登录、注销的影响,一直在运行着,他们都是守护进程。如:预读入缓输出机制的实现;ftp服务器;nfs服务器等。 创建守护进程,最关键的一步是调用set...
阅读全文
摘要:sigaction函数 修改信号处理动作(通常在Linux用其来注册一个信号的捕捉函数) int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact); 成功:0;失败:-1,设置errno 参数: act:传入参数,新的处理方式。oldact:传出参数,旧的处理方式。 stru...
阅读全文
摘要:waitpid函数:作用同wait,但可指定pid进程清理,可以不阻塞。 原型:pid_t waitpid(pid_t pid, int *status, in options); 返回值:成功时返回清理掉的子进程ID,失败返回-1;当第三个参数被设置为WNOHANG,且子进程还在运行时,返回0; 参数说明: pid > 0回收指定ID的子进程 。 -1回收任意子进程(相当于wait)。 ...
阅读全文
摘要:学习到wait函数了,这个函数的作用是用来回收进程。一般来说,正常退出的进程是不需要我们来专门回收的。但是进程有这两种:孤儿进程和僵尸进程。 孤儿进程: 通俗点说就是父进程先于子进程死亡。此时子进程就成为孤儿进程。这时候子进程的父进程就是init进程了。这个过程(父进程死亡后子进程的父进程变为init)称为init进程领养孤儿进程。 僵尸进程 进程终止,但是父进程并未进行回收操作。子进程的残留资源...
阅读全文
摘要:基础与控制原语 读写锁 与互斥量类似,但读写锁允许更高的并行性。其特性为:写独占,读共享。 读写锁状态: 一把读写锁具备三种状态: 1. 读模式下加锁状态 (读锁) 2. 写模式下加锁状态 (写锁) 3. 不加锁状态 读写锁特性: 读写锁是"写模式加锁"时, 解锁前,所有对该锁加锁的线程都会被阻塞。 读写锁是"读模式加锁"时, 如果线程以读模式对其加...
阅读全文
摘要:学习了一段时间的Linux了,但是我感觉我做不出来啥子,后头选择利用系统IO函数实现命令,先从ls走起吧。先来看看ls -lfilename给我们显示了什么吧 : 可以看到,一共八项:文件类型、用户权限、文件硬连接数目、文件所有者、文件所属组、占用空间大小、文件修改日期、文件名。下面我们一个一个实现他们。但在此之前,我们需要了解一下ls需要用到的xitongio函数:stat();该函数的原...
阅读全文