Linux

getopt和getopt_long函数解析命令行参数

在Linux中编程时,经常需要解析命令行的参数设置,比如解析ps -aux的参数列表,之前一直不知道Linux中有专门解析命令行参数的库函数(其实这么常用的东西怎么会没有专门的解析函数,应该早点百度一下的),在看we...

《Unix环境高级编程》记录锁

记录锁的功能是:当一个进程正在读或者修改文件的某一个部分时,它可以阻止其他进程修改同一文件区。记录锁其实是 字节范围锁,因为它锁定的只是文件中的一个区域,也可能是整个文件。 1.fcntl记录锁 SVR3通过f...

fork对行缓冲区的影响

在看《Unix环境高级编程》的时候,发现了fork对行缓冲区有一个需要注意的点,然后google了一下,发现这还是一道经典的面试题,发现一篇写得很不错的博文,我就直接转载了,原文传送门. 题目:请问下面的程序一...

Linux进程间通信之管道(pipe)

管道(pipe) 管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信; 实现机制: 管道是由内核管理的一个缓冲区,相当于我...

Linux多线程初体验

直接上代码 #include "pthread.h" //线程库,线程不是通过内核实现的 #include "stdio.h" #include "stdlib.h" #include "unistd.h" void* thread_func(void *arg){ int *val = (int*)arg; ...