事情是这样的,今天写测试代码的时候发现,进程 A 调用进程 B,A 与 B不在同一路径下,B
中使用Environment.CurrentDirectory获取当前路径,本以为获取的路径应为 B 所在目录,结果证明,获取路径为 A 路径;要获取 B
所在路径,需使用:Path.GetDirector...
分类:
其他好文 时间:
2014-07-22 23:09:33
阅读次数:
250
linux上进程有5种状态:1. 运行(正在运行或在运行队列中等待)2. 中断(休眠中,
受阻, 在等待某个条件的形成或接受到信号)3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)4. 僵死(进程已终止, 但进程描述符存在,
直到父进程调用wait4()系统调用后释放)5. ...
分类:
系统相关 时间:
2014-06-10 19:36:46
阅读次数:
324
brk(addr)直接修改堆的大小。addr指定current->mm->brk的新值,返回值是线性区新的结束地址,这是一个系统调用。当用户态的进程调用brk()系统调用时,内核执行sys_brk(addr)函数。下面分析这个函数的执行流程:
1:检测addr参数是否位于进程代码段所在的线性区,如果是直接返回,因为堆不能与进程代码段所在的线性区重合。
mm=current->mm;
down_...
分类:
其他好文 时间:
2014-06-10 11:06:20
阅读次数:
284
管道,一种古老的进程间通信形式。一个管道由一个进程创建,然后该进程调用fork,此后父、子进程就可以用管道通信了。
函数原型:
#include
int pipe(int filedes[2]); // 成功返回0,出错返回-1
参数filedes返回两个文件描述符。filedes[0]用来输入,filedes[1]用来输出。注意,经过实验,这里的两个描述符并不对应标...
分类:
系统相关 时间:
2014-05-15 19:39:53
阅读次数:
506