fork
fork上面的数据拷贝,下面的则进行代码复制
在面对文件的读取的时候则是将打开文件进行打开读取的时候将打开的语句放在fork语句下则能再次打开的时候才能从起始位置开始读,否则就是从文件的指针处进行读取,下面展示的则是在fork后打开读取
接下来是对fork连续创建n个为什么是2的n次方个线程进行解释,因为fork是对上卖弄数据进行拷贝,对下面的代码进行拷贝,所以fork对下面的fork进行代码拷贝
同步与异步(wait和waitpid)
wait主要作用:1.回收资源
2.同步:按照一定的步骤顺序来执行
异步:打破顺序,同时进行的步骤
wait函数的内容 pid_t wait(int *status);
wait对进程默认的工作方式是异步的
waitpid函数的内容 pid_t waitpid(pid_t pid, int *status, int options);
第三个参数有三种分别是
WNOHANG 可以执行异步,不阻塞其他线程可以同时运行
WUNTRACED 可以执行同步,阻塞其他线程
WCONTINUED
线程结束方式
exit():类似于保存并退出,它在退出之前会先将缓冲区的内容刷新到设备中
_exit():立即退出
exit(状态值 0-255 0-ff)
前台和后台
前台服务(进程)
后台进程(服务)
守护进程
守护进程是在后台运行不受终端控制的进程
守护进程能自动转到后台并且脱离与终端的联系
Linux系统中一般有很多守护进程在后台运行,执行不同的管理任务
守护进程的特性
最重要特性是后台运行
守护进程必须与运行前的环境隔离开来
守护进程的启动方式有其特殊之处
在前台运行,并在前台显示kill -9 输入进程的id可以杀死该进程
将其设置为后台运行且不受终端控制,先将输入的东西存储到其他的地方,后面关闭该终端