zoukankan      html  css  js  c++  java
  • 进程控制

    进程控制

    进程图解

    • fork函数介绍


    代码实现

     1 #include <stdio.h>
     2 #include <unistd.h>
     3 #include <stdlib.h>
     4 #include <sys/types.h>
     5 #include <sys/stat.h>
     6 #include <string.h>
     7 
     8 int main(int argc, const char* argv[])
     9 {
    10         pid_t pid;
    11         for(int i = 0; i < 4; ++i)
    12         {
    13                 printf("---------i = %d
    ",i);
    14         }
    15 
    16         pid = fork();
    17         //父进程
    18         if(pid > 0)
    19         {
    20                 printf("parent process, pid = %d", getpid());
    21         }
    22         else if(pid == 0)//子进程
    23         {
    24                 printf("child process, pid = %d, ppid = %d
    ", getpid(), getppid());
    25         }
    26 
    27         for(int i = 0; i < 4; ++i)
    28         {
    29                 printf("i = %d
    ", i);
    30         }
    31         return 0;
    32 }
    

    总结

    • 基本特征
      • fork函数的返回值
        • 父进程的返回值>0
        • 子进程的返回值=0
      • 子进程创建成功之后,代码运行的位置
        • 父进程执行到了哪里,子进程就从哪里开始执行
      • 父子进程的执行顺序
        • 不一定,谁抢到cpu谁执行。
      • 如何区分父子进程
        • 看返回值
    • getpid - 得到当前进程的PID
      getppid - p是parent的意思,得到当前进程的父进程PID
  • 相关阅读:
    VMware Workstation-虚拟机的安装
    Linux操作系统-命令-free
    Linux操作系统-命令-vmstat
    抛出一个异常
    字符集
    页面缓存
    表单域
    弹出式说明
    canselBubble 和 stopPropagation理解
    JS---递归函数理解
  • 原文地址:https://www.cnblogs.com/kevinkala/p/13966308.html
Copyright © 2011-2022 走看看