【操作系统】Linux之进程管理二

第1关:进程等待

if(wait(&status) != -1)

{

if(WIFEXITED(status))

status = WEXITSTATUS(status);

else

status = -1;

}

else

{

status = -1;

}

第2关:进程创建操作-exec函数族

void execlProcess()

{

pid_t pid = vfork();

if(pid == -1)

{

printf("创建子进程失败(%s)\n", strerror(errno));

return -1;

}

else if(pid == 0)

{

//子进程

/********** BEGIN **********/

if(execle("touch","touch","testDir",NULL)<0)

{

exit(-1);

}

/********** END **********/

}

else

{

//父进程

/********** BEGIN **********/

printf("Parent Process");

/********** END **********/

}

}

第3关:进程创建操作-system

int test=system("mkdir testDir");

if(test==1)

{

return test;

}

第4关:实现一个简单的命令解析器

int i=0;

while(i<commandNum)

{

system(cmdi);

i++;

}

相关推荐
wixzjsh6 分钟前
51单片机学习笔记|最小系统、中断、定时器+数码管动态扫描实现0~9999计数器
笔记·学习·51单片机
无小道13 分钟前
fdisk,dmesg,hdparm,swapon命令小记(linux)
linux·运维·服务器
平头哥AI17 分钟前
Day 21 _ error 是个普通值_errors.New 与 fmt.Errorf 造出来,沿调用栈抛到 main 接住
后端·学习·golang·go
snow@li17 分钟前
服务器运维: k3s 安装及配置的完整操作笔记
笔记
Lyyaoo.21 分钟前
【回溯】【中等】全排列
java·数据结构·算法
没文化的阿浩34 分钟前
【Linux系统】进程状态详解
android·linux·c++·c
ECT-OS-JiuHuaShan37 分钟前
哲学是迭代学,数学是拓扑学
开发语言·人工智能·学习·算法·机器学习·php·拓扑学
leo_messi9438 分钟前
Mysql学习(十二) -- SQL执行到底做了什么事?
sql·学习·mysql
All for pursuit.40 分钟前
【数组-5】560.和为K的子数组
数据结构·c++·算法·leetcode
影视飓风TIM41 分钟前
C++异常与RAII智能指针笔记
开发语言·c++·笔记