linux重点和难点
文章平均质量分 78
Everlasting2016
我流我的汗水,华丽如天花乱坠
展开
-
从一个fork()实例理解全缓冲与行缓冲
之前一直对无缓冲、行缓冲、全缓冲不太感冒,然后最近在《UNIX环境高级编程》上看到这样一个例子,感觉挺好的拿来给没看过的小伙伴们看看:、#include #include int globvar = 6;char buf[] = "a write to stdout\n";int main(){ int var; pid_t pid; var转载 2016-07-27 08:09:35 · 662 阅读 · 0 评论 -
fork函数与vfork函数
一、fork1. 调用方法#include #include pid_t fork(void);正确返回:在父进程中返回子进程的进程号,在子进程中返回0错误返回:-1 子进程是父进程的一个拷贝。即,子进程从父进程得到了数据段和堆栈段的拷贝,这些需要分配新的内存;而对于只读的代码段,通常使用共享内存的方式访问。fork返回后,子进程和父进程都从调用fork转载 2016-07-27 10:22:42 · 366 阅读 · 0 评论 -
vfork()在使用过程中不能使用return 0
在学习linux进程编程的时候遇到一个问题,就是使用vfork()函数以后本以为下面会打印出1和2,但是结果却出人意料#include #include int main(void){ pid_t pid; int count = 0; pid=vfork(); count++; printf("count=%d\n",count);转载 2016-07-27 10:40:25 · 1305 阅读 · 0 评论 -
调整进程的优先级的方法
linux下调整进程优先级 进程的优先级决定了进程是否优先被cpu分配资源进行处理。在cpu资源十分充足时,每个正在运行的进程都能分配到足够的资源进行处理,此时调整进程的优先级是没有什么意义的;如果cpu资源紧张时,top查看cpu使用达到90%以上时,优先级高的进程将被优先分配资源去执行。 如果此时手头有一个非常紧要的任务要执行,比如传输一个非常重原创 2016-07-27 11:32:03 · 3094 阅读 · 0 评论 -
栈帧与函数调用过程的分析
函数调用是程序设计中的重要环节,也是程序员应聘时常被问及的,本文就函数调用的过程进行分析。一、堆和栈首先要清楚的是程序对内存的使用分为以下几个区:l 栈区(stack):由编译器自动分配和释放,存放函数的参数值,局部变量的值等。操作方式类似于数据结构中的栈。l 堆区(heap):一般由程序员分配和释放,若程序员不释放,程序结束时可能由转载 2016-07-27 11:40:45 · 531 阅读 · 0 评论