系统编程
文章平均质量分 72
只要代码敲得好,BUG就追不到我
让世界变得更美好
https://github.com/liusenlindegithub
展开
-
不带缓存的IO函数open() write() close()
/* *本函数实现的功能是:当打开一个文件,若文件不存在时,创建它,并在文件中写入hello 2016 * */#include #define LINELEN 256int main(int ac,char **av){ int fd = -1 , rdsize = 0; char buf[LINELEN+1];原创 2016-05-08 23:00:37 · 809 阅读 · 0 评论 -
僵尸进程
在UNIX 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他, 那么他将变成一个僵尸进程。 但是如果该进程的父进程已经先结束了,那么该进程就不会变成僵尸进程, 因为每个进程结束的时候,系统都会扫描当前系统中所运行的所有进程, 看有没有哪个进程是刚刚结束的这个进程的子进程,如果是的话,就由Init 来接管他,成为他的父进程…一个原创 2016-08-22 21:45:11 · 1508 阅读 · 0 评论 -
文件IO(不带缓存)与标准IO(带缓存流IO)的小结
#include #include#define LINEMAX 256int main(int ac,char **av){ int fd = -1,size = 0; FILE *fst = NULL; //文件流指针,指针指向的是一个文件 char buf[LINEMAX]; if(1 >= ac){ r原创 2016-05-10 00:21:02 · 2654 阅读 · 0 评论 -
实现linux上类似wc -l -w -c + 文本文件的函数
#include #define LINE_AVA 1#define WORD_AVA 2 //用一个变量可以表示三个信息#define CHAR_AVA 4#define ONE_MAX 10 //一次能读的最多的字节数void do_work(int,char **);void do_count(cha原创 2016-05-09 16:00:04 · 1426 阅读 · 0 评论 -
当打开一个文件,若文件不存在时,创建它,并在文件中写入hello 2016
/* *本函数实现的功能是:当打开一个文件,若文件不存在时,创建它,并在文件中写入hello 2016 * */#include #define LINELEN 256int main(int ac,char **av){ int fd = -1 , rdsize = 0; char buf[LINELEN+1];原创 2016-05-09 15:31:04 · 8441 阅读 · 0 评论 -
实现一个简单类似linux上cat命令的功能函数
/** 写一个能查看其他文件的功能* cat*/#include /* * 写一个能查看其他文件的功能 * cat */#include #define LINELEN 256int main(int ac,char **av){ int fd = -1 ; //文件描述原创 2016-05-09 14:57:22 · 4553 阅读 · 2 评论 -
fork()函数与exec族函数小谈
/* *函数功能:子进程启动已存在的一个程序 * */#include #define MYPATH "/usr/bin/gedit"#define MYPRO "gedit"int main(int ac,char **av,char *envp[]) //最后一个是环境变量{ pid_t chid = -1;原创 2016-05-09 13:54:59 · 777 阅读 · 0 评论 -
fork()函数的简单程序
#include #include //注:自定义的头文件int main (int argc,char **argv){ fork(); fork() && fork(); //短路运算 //fork(); pause(); return 0;}/*in原创 2016-05-05 22:54:43 · 638 阅读 · 0 评论 -
控制双端通用链表
心得体会:模块化编程,达到“高内聚,低耦合”,将.h文件与.c文件分开写。不仅使程序模块更加清晰,而且程序的可重复利用率提高,暴露出接口,使开发者不用关心函数是怎么实现的,只要调用就行//工具函数的.H文件#ifndef _TOOLS_H_#define _TOOLS_H_#include #include #include //工具类接口原创 2015-12-23 13:14:06 · 854 阅读 · 0 评论 -
Linux进程间通信之——管道(整理)
进程间通信 fork pipe pie_t 等用法(管道机制 通信)每个进程各自有不同的用户地址空间,任 何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲 区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信(IPC,InterProcess Communication)。如下图所转载 2016-08-23 11:11:04 · 628 阅读 · 0 评论