进程控制程序设计

进程控制理论基础

进程是一个具有独立功能的运行活动
进程和程序的区别:程序运行需要进程
特点:动态性,并发性,独立性,异步性在这里插入图片描述

进程控制编程

获取子进程ID和父进程ID
#include <stdio.h>
#include <unistd.H>
#include <stdlib.h>

int main(void)
{
printf("PID = %d\n",getpid());
printf("PPID = %d\n",getppid());
return 0;
}

运行结果:输出的是ID值
在这里插入图片描述

进程创建fork
#include <stdio.h>
#include <unistd.H>
#include <sys/types.h>
#include <stdlib.h>

int main(void)
{
pid_t pid;
/*此时只有一个进程*/
pid = fork();

/*此时已经有两个进程同时运行*/
if(pid<0)
{
printf("errer in fork");
}
else if(pid==0)
{
printf("I am the child process, ID is %d\n",getpid());
}
else
{
printf("I am the parent process, ID is %d\n",getpid());
}
}

运行结果:
在这里插入图片描述
结果会产生两个!
我们在写多进程程序时所看到的pid==0,是指父进程自己

vfont与font的区别
vfont 共享变量
font 不共享变量

函数族
#include <unistd.h>
int execl(const char *path,const char *arg1,……)

参数:
path:被执行程序名(包含路径)
arg1-argn:被执行程序所需的命令行参数,含程序名。以空指针NULL结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值