进程相关操作
ps -aux 查看当前的进程表
ps -ef查看系统中当前正在运行的进程信息
进程:一个正在运行的程序就叫进程,进程是一个动态的概念 ,进程在内存中可执行程序(ELF):静态的概念 (相当于保存在硬盘中)
进程的创建(创建子进程):
fork();创建子进程的时候,子进程会复制父进程的所有资源
vfork();创建子进程的时候,子进程是共享他父进程的资源,一定是子进程先运行
(2)获取进程和父进程的ID号
#include <unistd.h>
pid_t getpid(void); 获取当前进程的ID
pid_t getppid(void); 获取当前进程的父ID
进程的退出:exit和_exit函数都是用来终止进程的
进程的回收: wait(&status) waitpid()
wait工作原理,
子进程结束后,系统向其父进程发送SIGCHILD信号,
父进程调用wait函数后阻塞,
父进程被sigchild信号唤醒然后去回收僵尸子进程,
若父进程没有子进程则wait函数返回错误,