- 博客(8)
- 收藏
- 关注
原创 linux中popen() 函数与system () 详解
linux的popen() 函数详解popen() 可以在调用程序和POSIX shell /usr/bin/sh 要执行的命令之间创建一个管道(请参阅sh-posix(1) )。popen() 的参数是指向以空字符结尾的字符串的指针,这些字符串分别包含一个shell 命令行和一个I/O 模式,此模式可以是进行读取的r ,或进行写入的w 。popen() 可返回一个
2015-07-11 16:17:46
690
原创 linux—FIFO的使用与非阻塞标志(O_NONBLOCK)的影响
FIFO文#include #include int mkfifo( const char*pathname, mode_t mode);参数:pathname:FIFO的路径名+文件名。mode:mode_t类型的权限描述符,同open的参数。返回值:成功:返回0失败:如果文件已经存在,则会出错且返回-1。 操作FIFO文件时的特点:系统调用的I/
2015-06-30 17:32:33
13702
原创 linux中dup()、dup2()的学习总结
1、要了解dup()、dup2()的使用先要了解文件描述符。文件描述符是非负整数,是文件的标识。用户使用文件描述符(file descriptor)来访问文件。每个进程都有一张文件描述符的表,进程刚被创建时,标准输入、标准输出、标准错误输出设备文件被打开,对应的文件描述符0、1、2 记录在表中。在进程中打开其他文件时,系统会返回文件描述符表中最小可用的文件描述符,并将此文件描述符记录在表中。
2015-06-26 14:26:04
895
1
原创 linux防僵尸进程的学习总结
僵尸进程(Zombie Process):进程已运行结束,但进程的占用的资源未被回收,这样的进程称为僵尸进程。子进程已运行结束,父进程未调用wait或waitpid函数回收子进程的资源是子进程变为僵尸进程的原因。如果一个父进程终止,而该进程有子进程处于僵尸状态,那么它的所有僵尸子进程的父进程ID将被重置为1(init进程)。继承这些子进程的init进程将清理它们(init进程将wait它们
2015-06-26 11:05:52
1059
原创 linux进程(fork/vfork)与wait/waitpid
1、在linux系统中,进程是管理事务的基本单元。进程拥有自己独立的处理环境和系统资源(处理器、存储器、I/O设备、数据、程序)。 进程整个生命周期可以简单划分为三种状态:等待态、就绪态、执行态。 每个进程都由一个进程号来标识,其类型为pid_t,进程号的范围:0~32767。 在linux系统中进程号由0开始。进程号为0及1的进程由内核创建。进程号为0的进程通常
2015-06-25 17:12:20
1063
转载 gdb调试
Linux学习--gdb调试一.gdb常用命令:命令描述backtrace(或bt)查看各级函数调用及参数finish连续运行到当前函数返回为止,然后停下来等待命令frame(或f) 帧编号选择栈帧info(或i) locals
2015-06-25 16:27:01
310
原创 字节位操作(位域的应用)
一、单片机机 中怎样实现字节位操作:1、ANSIC中,一般采用“读-修改-写”的方法实现单个位的位操作,通过与0“与”操作,将某一位清0。如使i变量的b0位为0,实现方法为i=i&0xfe。通过与1“或”操作,将某一位置1。如使i变量的b0位为1,实现方法为i=i|0x01。通过与1“异或”操作,将某一位取反。如使i变量的b0位取反,实现方法为i=i^0x01。 2 、通过位域的方法实现位
2015-06-24 16:26:39
2948
2
原创 IPMI经验教训(C内存泄露教训)
一个由c/C++编译的程序占用的内存分为以下几个部分栈区(stack)― 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 堆区(heap) ― 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。 全局区(静态区)(static)―,全局变量和静态变量的存储是放在一块
2015-05-20 19:30:41
851
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅