7月3日笔记-进程

2015年07月03日

学习内容出自:一步步学习Linux多任务编程

  • fork() 函数详解
    Linux的fork()使用是通过写时拷贝来实现的
    fork()函数被调用一次,返回两次:子进程返回0,父进程返回新子进程的ID
    fork()之后是父进程先执行还是子进程先执行是不确定的,取决于内核所使用的调度算法

  • vfork() 函数详
    与fork()函数的区别是:保证子进程进行
    必须退出子进程父进程才会执行,退出方法:_exit

  • 进程的控制:结束进程、等待进程结束
    continue:结束本次循环
    break: 跳出整个循环
    return:结束当前循环
    return的作用只是结束调用return所在的函数,主函数没有结束,不能结束进程
    wait(int *status)
    主要功能是回收已结束的子进程的资源
    WIFEXITED :若子进程正常退出则非零
    WEXITSTATUS:子进程正常退出时才能调用它返回子进程的状态(status)
    waitpid(pid_t pid, int *status, int options)
    多出了两个可由用户控制的参数 pid 和 options