C++学习之路--8

1、什么是程序?
编译好的二进制文件
2、什么是进程?
运行着的程序
3、区别:
程序占用磁盘,不占用系统资源,内存占用系统资源,一个程序对应多个进程,一个进程对应一个程序,进程有生命周期,程序没有生命周期
4、单通道程序和多通道程序
微观上串行,宏观上并行
5、进程的切换
挂起,运行,就绪,停止
6、MMU的作用
虚拟内存和物理内存的映射,修改内存访问级别 0最高级,用户空间映射到物理内存是独立的
7、PCB进制控制块
进程ID,进程的状态、虚拟地址空间信息,umask掩码,文件描述符表,用户ID和组ID,会画和进程组。
8、环境变量
key=value
9、getenv环境变量函数
10、fork进程
pid_t fork() 创建一个进程 返回值:失败 -1 成功两次返回 父进程返回 子进程的ID,子进程返回0
getpid() 获得pid,进程id ,获得当前进程
getppid()获得当前进程父进程id
11、查看进程信息
ps
- ps aux 查看所有进程
- ps ajx 可以追溯进程间的血缘关系
kill
- 给进程发送一个信号
- kill -9 pid 停止信号 sigkill
- kill -l 查看所有可以发送的信号
12、进程共享
读时共享,写时复制
13、族函数
int execl
int execlp
14、孤儿进程和僵尸进程
孤儿:父进程挂掉,子进程被INIT领养
僵尸:子进程挂掉,父进程没有回收
15、子进程回收 pid_t wait(int *status) 阻塞等待,回收子进程资源,查看死亡原因 status传出参数,知道子进程死亡原因 返回值 成功返回终止ID,失败返回-1.
16、pid_t waitpid(pit_t pid, int *status, int options)

  • pid
    • < -1 组id
    • -1 回收任意
    • 0 回收和调用进程组id 相同组内的子进程
    • 0 回收指定的id

  • options
  • 返回值
    • 设置了WNOHANG,没有子进程退出返回0,有子进程成功返回PID,失败返回-1.
      17、
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值