美文网首页
系统编程--进程函数

系统编程--进程函数

作者: 魔芋辣椒 | 来源:发表于2020-08-10 16:26 被阅读0次

一、fork()

#unistd.h
pid_t fork();

拷贝父进程,子进程的fork不执行,返回0,执行fork之后的所有代码
父进程的fork返回子进程pid

二、getpid()

getpid()
#获得当前进程的pid
getppid();
#获得当前进程的父进程的pid

父子进程无论谁,对源代码都是读时共享,写时复制

三、wait()

#include<sys/wait.h>

int status;
pid_t wpid=wait(&status);//回收子进程,并获取回收状态于status

查看status
WIFEXITED 查看子进程是否正常退出,如果为真,调用
WEXITSTATUS //查看子进程正常推出的返回值

WIFSIGNALED 查看子进程是否异常退出,如果为真,调用
WTERMSIG //查看杀死子进程的编号

四、waitpid()

pid_t waitpid(pid_t pid,int *status,int option);
//pid=-1,回收任意子进程,相当于wait
//pid=0,回收所有子进程
//加强版wait,可以选择干掉特定的子进程,option用来指定非阻塞WNOHANG

五、守护进程

不受用户终端控制,循环做某件事的进程,创建时不能由组长创建
创建步骤:

  1. fork子进程,关闭父进程
  2. 子进程调用setsid() 创建会话 (脱离终端)
  3. chdir(),改变目录,防止被卸载
  4. 设置umask,022--755
  5. 关闭/重定向(dup2)文件描述符到dev/null
  6. 编写业务逻辑

相关文章

  • # 系统编程(系统函数)进程

    eg:进程函数,getpid() getppid() eg:fork()//进程分裂//有两个返回值//在父进程...

  • 系统编程--进程函数

    一、fork() 拷贝父进程,子进程的fork不执行,返回0,执行fork之后的所有代码父进程的fork返回子进程...

  • 【linux/unix系统编程手册笔记】系统编程概念

    【Linux/Unix系统编程手册笔记】系统编程概念 1.系统调用 系统调用: 创建新进程 执行I/O 进程间通信...

  • 对 fork 函数的思考和理解

    fork函数通过系统调用创建一个与原来进程几乎完全相同的进程。一个进程调用fork()函数后,系统先给新的进程分配...

  • Windows输出进程基址ImageBase

    1.使用EnumProcesses函数枚举系统下所有进程2.使用OpenProcess函数打开进程,获取进程句柄3...

  • 系统编程-------进程编程

    多进程编程 1、进程的创建 1.1 复制创建新的进程 fork(); 参数: 无 返回值: 成功,子进程的id号,...

  • 进程线程-导读

    一:引出 进程线程与文件IO一起,一般也叫做系统编程,系统编程,顾名思义,就是与操作系统有关系的编程,那么系统编程...

  • 2018-08-14 fork

    【转】进程系统调用——fork函数深入理解

  • 系统编程---进程

    ·程序执行到os.fork()时,操作系统会创建一个新的进程(子进程),然后复制父进程的所有信息到子进程中 ·然后...

  • [python] 多进程编程

    引言 讲到进程,不得不先说下linux的fork()函数,一个进程调用fork()函数后,系统先给新的进程分配资源...

网友评论

      本文标题:系统编程--进程函数

      本文链接:https://www.haomeiwen.com/subject/frwddktx.html