嵌入式开发:excel函数 (多进程运行)

linux中,可以使用exec函数族将程序载入内存,实现多个程序的运行。

 

man 3 exec

exec函数族参数

lv表示参数是以列表还是以数组的方式提供的

p表示这个函数的第一个参数是*path,就是以绝对路径来提供程序的

路径,也可以以当前目录作为目标

e表示为程序提供新的环境变量

 

简单地使用一下 execl()

int execl(const char *path, const char *arg, ...);

参数1 启动文件的路径

参数2,3,4..... 对应启动文件的 argv[0],argv[1],argv[2].....

末尾的参数要加上 NULL

/*   execl.c     */
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>


int main(int argc, char**argv)
{
	if(execl("/mnt/udisk/learn/execl_Hello","xxxx","execl",NULL) == -1)  
	{
		perror("execl");
		exit(1);
	}
	
	printf("execl error!\n");
	return 0;
}
/*    execl_hello.c    */
#include <stdio.h>


int main(int argc, char**argv)
{
	printf("%s\n",argv[0]);                    //打印出  xxxx
	printf("Hello! This is %s",argv[1]);       //打印出  execl
	return 0;
}

execl() 成功执行后,直接跳转到另外的程序,不会执行下面的语句
 

在开发板上运行效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值