进程与程序
1. // 程序:二进制文件,占用磁盘空间
2. // 进程:启动的文件,所有的数据在内存中,需占用更多的系统资源(CPU,物理内存)
进程与并发
1. // 并发:
fork
1. // fork函数返回值:>0,为父进程,返回子进程pid,==0,为子进程
2. // getpid:得到当前进程pid,getppid,返回当前进程的父进程pid
3. // 子进程创建之后,代码的执行位置:父进程执行到了哪,子进程就从哪开始执行
4. // 子进程和父进程得到cpu的时机是不一定的,谁都有可能先得到
5. // 循环创建子进程,如何不让子进程再生子进程:在循环体里加:if(pid==0) break
6. // 循环创建子进程,如何判断哪个是父进程出口:在循环外加:if(pid==n),n是循环i<n
7. // 刚fork出来之后,2个地址空间用户区数据完全相同。数据读时共享、写时复制
ps命令
1. ps
2. ps au
3. ps aux:// 会显示不依赖终端的进程。依赖终端的进程,一般都要与用户进行交互
4. ps ajx
kill 进程
1. // 作用是发信号给某个进程
2. kill -9 pid:// 无条件杀死一个进程