狂自私

导航

上一页 1 ··· 16 17 18 19 20

2018年4月5日 #

用waitpid函数回收进程

摘要: waitpid函数:作用同wait,但可指定pid进程清理,可以不阻塞。 原型:pid_t waitpid(pid_t pid, int *status, in options); 返回值:成功时返回清理掉的子进程ID,失败返回-1;当第三个参数被设置为WNOHANG,且子进程还在运行时,返回0; 参数说明: pid > 0回收指定ID的子进程 。 -1回收任意子进程(相当于wait)。 ... 阅读全文

posted @ 2018-04-05 20:41 狂自私 阅读(679) 评论(0) 推荐(0) 编辑

在Linux中简单实现回收子进程

摘要: 学习到wait函数了,这个函数的作用是用来回收进程。一般来说,正常退出的进程是不需要我们来专门回收的。但是进程有这两种:孤儿进程和僵尸进程。 孤儿进程: 通俗点说就是父进程先于子进程死亡。此时子进程就成为孤儿进程。这时候子进程的父进程就是init进程了。这个过程(父进程死亡后子进程的父进程变为init)称为init进程领养孤儿进程。 僵尸进程 进程终止,但是父进程并未进行回收操作。子进程的残留资源... 阅读全文

posted @ 2018-04-05 20:40 狂自私 阅读(502) 评论(0) 推荐(0) 编辑

Linux:使用读写锁使线程同步

摘要: 基础与控制原语 读写锁 与互斥量类似,但读写锁允许更高的并行性。其特性为:写独占,读共享。 读写锁状态: 一把读写锁具备三种状态: 1. 读模式下加锁状态 (读锁) 2. 写模式下加锁状态 (写锁) 3. 不加锁状态 读写锁特性: 读写锁是"写模式加锁"时, 解锁前,所有对该锁加锁的线程都会被阻塞。 读写锁是"读模式加锁"时, 如果线程以读模式对其加... 阅读全文

posted @ 2018-04-05 19:02 狂自私 阅读(6813) 评论(0) 推荐(0) 编辑

(笨方法)利用stat函数实现ls -l filename

摘要: 学习了一段时间的Linux了,但是我感觉我做不出来啥子,后头选择利用系统IO函数实现命令,先从ls走起吧。先来看看ls -lfilename给我们显示了什么吧 : 可以看到,一共八项:文件类型、用户权限、文件硬连接数目、文件所有者、文件所属组、占用空间大小、文件修改日期、文件名。下面我们一个一个实现他们。但在此之前,我们需要了解一下ls需要用到的xitongio函数:stat();该函数的原... 阅读全文

posted @ 2018-04-05 17:13 狂自私 阅读(1359) 评论(0) 推荐(1) 编辑

上一页 1 ··· 16 17 18 19 20