【操作系统】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++;

}

相关推荐
AOI小白新手上路2 分钟前
韦东山 3-5 I.MX6ULL 的 LED 编程 · 学习笔记
arm开发·笔记·单片机·学习·架构·硬件架构
知识分享小能手4 分钟前
C++ 学习教程,从入门到精通,C++类继承 — 完整知识点详解(13)
开发语言·c++·学习
YYRAN_ZZU6 分钟前
如何编一个gcc的交叉工具链
linux·c++
shjita18 分钟前
centos中安装docker
linux·docker·centos
程序猿老A37 分钟前
阿里云linux服务器安装mysql并实现远程访问
linux·服务器·阿里云
Joe_Wang541 分钟前
【从0到1学习JVM · 25】同样都要停顿所有线程,Parallel比Serial到底强在哪
java·jvm·学习·垃圾回收
wuminyu42 分钟前
JVM虚拟线程的底层实现原理分析
java·linux·c语言·jvm·c++
keyipatience43 分钟前
跳表详细解析
开发语言·数据结构·c++·算法·跳表
M78佐菲1 小时前
ARM学习笔记(9)
linux·arm开发·笔记·嵌入式硬件·学习
赵民勇1 小时前
glib-compile-schemas命令详解
linux·运维