2026/2/17 23:01:52
网站建设
项目流程
vs怎么做网站,贵阳网站建设 设计可以吗,怎么给人介绍自己做的网站,网站外部优化的4大重点一、进程关系与写时复制子进程是父进程的一个复制品(副本)。写时复制#xff1a;Linux2.6及后续版本中#xff0c;子进程通过fork创建时采用写时复制机制#xff1a;fork刚完成时#xff0c;子进程并不单独开辟空间#xff0c;而是与父进程共享全部内存#xff1b;仅当父…一、进程关系与写时复制子进程是父进程的一个复制品(副本)。写时复制Linux2.6及后续版本中子进程通过fork创建时采用写时复制机制fork刚完成时子进程并不单独开辟空间而是与父进程共享全部内存仅当父子进程中任意一个修改某变量或内存区域子进程才会为该部分内存开辟独立空间实现按需复制。二、进程的终止情况1.main中return 触发进程退出return 的值作为进程退出码2.exit() c库函数会执行io库的清理工作关闭所有的流以及所有打开的文件。3._exit_Exit 会关闭所有的已经打开的文件不执行清理函数。4.主线程退出主线程执行完毕退出导致整个进程终止5.主线程调用pthread_exit 异常终止6.abort()主动触发 SIGABRT 信号强制终止进程7.signal kill pid 通过信号如 SIGKILL/SIGTERM 等终止进程8.最后一个线程被pthread _cancle 取消最后一个存活线程导致进程终止三、退出后的进程1.僵尸进程父进程创建子进程后子进程先消亡。对应用户内存空间释放子进程也不会被调度了。但是内核空间中的对应的pcb块没有释放。2.孤儿进程父进程创建子进程后父进程先消亡。子进程会寻找新的父进程。四、退出函数1.exit函数功能让进程退出并刷新缓存区参数status进程退出的状态。void exit(int status) exit(1)2._exit 系统调用功能让进程退出不刷新缓存区参数status进程退出的状态。void _exit(int status);3.pid_t wait 函数pid_t wait(int *status);功能该函数可以阻塞等待任意子进程退出并回收该进程的状态。只能父进程回收子进程状态。参数status 进程退出时候的状态如果不关心其退出状态一般用NULL表示如果要回收进程退出状态则用WEXITSTATUS回收。WIFEXITED(status) 是不是正常结束WEXITSTATUS(status) 使用这个宏去那返回值WIFSIGNALED(status) 是不是收到了信号而终止的WTERMSIG(status)如果是信号终止的那么是几号信号。