linux系统函数学习

Linux系统函数学习

进程

程序: 死的, 只会占用磁盘空间
进程: 活的,运行起来的程序,占用内存,cpu系统资源等

PCB进程控制块

就是一个结构体

相关信息:

  • 进程id, 文件描述符, 进程工作目录, *umask掩码, 信号相关信息资源, 用户id和组id,
  • 进程状态: 初始态, 就绪态, 运行态, 挂起态, 终止态

fork()函数

创建子进程, 父进程各自返回.父进程返回子进程pid, 子进程返回0
头文件:unistd.h

  • 父子进程相同:
    刚fork后: data段, text段, 堆, 栈, 环境变量, 宿主目录位置, 进程工作位置, 信号处理方式

  • 父子进程不同:
    进程id, 返回值, 各自的父进程, 进程创建时间, 闹钟, 未决信号集

  • 父子进程共享:
    读时共享,写时复制
    文件描述符, mmap映射区

  • 获取进程各个id函数:
    getpid():获取当前进程id
    getppid():获取父进程的id
    getgid():获取当前组id