C++学习之路--8

    xiaoxiao2025-01-26  50

    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)