
进程
So_Band
冲呀!!!!
展开
-
linux中的孤儿进程
介绍父子进程之间的关系会出现孤儿进程与僵死进程;僵死进程为父进程还没有结束,子进程结束了自己行程,可能是正常结束也可能是因为某些意外而结束,其中可以通过wait或者waitpid查看其原因,在前面几篇文章中有所介绍;孤儿进程则与之相反,即为父进程结束了自己的行程——正常结束或者异常退出,但子进程还依旧存在,此时子进程的父进程的pid则为1。内核会将孤儿进程的父进程设置为1;孤儿进程在前文中,主要展示的都为僵尸进程,本文主要代码展示的为孤儿进程的内容。创建进程父进程用一段时间休眠,用于子进原创 2022-04-22 23:48:10 · 860 阅读 · 0 评论 -
多进程死锁,利用信号将锁释放
如果对本文内容不太熟悉的,可以先查看前两篇博客;https://blog.youkuaiyun.com/So_Band/article/details/124325694?spm=1001.2014.3001.5502https://blog.youkuaiyun.com/So_Band/article/details/124328512?spm=1001.2014.3001.5502原因在多进程的情况下,一个进程获取了锁,但是由于某种原因突然crash了,应该如何解决,本文利用waitpid来解决相应的进程是否死锁,并且原创 2022-04-22 11:10:34 · 587 阅读 · 0 评论 -
linux中wait与waitpid
进程在linux中利用fork创建子进程,当子进程结束的时候,会产生僵尸进程,该僵尸进程会有保留一些内核的数据结构,供父进程查看子进程的状态;因此就有了wait与waitpidwait(int *status)用于父进程等待子进程,当子进程结束的时候,父进程才会被使用,相当于父进程被阻塞了;,同时其status用于父进程查询子进程当前是什么状态wait获取staus后检测处理宏定义 描述WIFEXITED(status) 如果进程子进程正常结束,返回一个非零值 WEXITSTATUS(原创 2022-04-21 21:07:08 · 1496 阅读 · 0 评论 -
linux中fork的使用
linux中fork的使用fork用于创建进程的内容,在linux中,可以在一个主线程中,创建子线程;两个进程之间的内容是独立的,互补影响的;pid_t pid = fork();该函数会返回两个值,返回子线程的pid,子线程则会返回0;#include <iostream>#include <stdio.h>#include <unistd.h>using namespace std;int main(){ int i = 0;原创 2022-04-21 17:01:39 · 1092 阅读 · 0 评论