多进程编程

多进程编程
  import os
  pid = os .fork()
  功能 :创建新的进程
  参数: 无
  返回值 :失败返回一个负数
      成功:在原有进程中返回新的进程的PID号
          在新进程中返回为0
* 子进程会复制父进程传问代码段,包括fork之前产生的内存空间
* 子进程从fork的下一句开始执行,与父进程互不干扰
* 父子进程的执行顺序是不一定的,父子进程公用一个终端显示
* 父子进程通常会根据fork返回值得差异选择执行不同的代码。所以if 结构几乎是fork 的固定搭配
* 父子进程空间独立,操作的都是本空间的内容,互不影响
* 子进程也有自己的特性,比如PID号,PCB,命令集等

获取进程PID
  os.getpid()
    功能: 获取当前进程的进程号
    返回值: 返回进程号
  os.getppid()
    功能: 当前进程父进程的PID号
    返回值: 返回进程号 
进程退出
  os._exit(status)    结束进程之后不在执行后面的内容
    功能:进程退出状态
    参数:进程的退出状态
  sys.exit([status])   sys.exit('这是退出信息')   退出时,打印退出信息
    功能: 进程退出
    参数: 数字表示退出状态,不写默认为0
        字符串,表示退出时打印的内容
    此函数是抛出异常退出,这个异常可以通过【except SystemExit as e】被捕获,并显示出来,之后程序将不会退出

猜你喜欢

转载自www.cnblogs.com/Skyda/p/9621384.html