1.在fork函数前打开函数和fork之后打开文件区别
1.fork之前open
子进程会继承父进程已打开的文件的相关信息所以,此时父子进程 会影响统一个offset值
2.fork之后open
父子进程各自有各自的打开文件的信息:相互之间不会有影响。
2.进程创建好之后:
1.任务--- 子进程做的事情 和 父进程 差不多多任务 //子承父业
淘宝服务器----程序---创建子进程
2 . 父进程创建出子进程之后,子进程做的事情与父进程完全不同 //自立更生
she1l程序--bash
3.exec 函数族
exec函数族---作用,启动(运行)一个新的程序
1.
参数 path 要包含文件名) ---表示要运行的 文件的路径
eg : /bin/ls
参数 arg -----要执行的 文件的名字
eg:"ls"
参数 ... 要执行的 文件本身需要用到白参数(都是字符串的形式),最后以NULL结尾
eg :"ls -l /"中 要执行1s 但是 ls 需要用到 "-l" 和 " /"
"-l" "/" NULL : 表示结束
4.结束方式
1.正常结束
a.从main函数返回return
b.调用exit
c.调用_exit
exit 库函数 ---- 刷新缓冲区
_exit 系统函数 -------系统调用不会刷新缓冲区 进程立即结束
2.atexit函数
注意:
a. 是exit函数调用时,会调atexi函数
是 _exit所数调用时,不会调到atexit
b.atexit 程序正常结束
(1).main 返回 //exit
(2).exit()
c.atexit函数, 可以多次注册
d.最后"退出清理函数"的调用顺序,与注册顺序相反