`
com_xpp
  • 浏览: 365735 次
社区版块
存档分类
最新评论

Linux exec函数的使用

阅读更多
1、例子
/*exec函数示例*/
#include <stdio.h>
#include <unistd.h>

int main(void)
{
	int flag;
	pid_t pid;
	char *const argv[] = {"%U", "--user-data-dir=/home/Administrator/.chromiun", NULL};
	//exec把当前进程印象替换成新的程序文件,故调用进程被覆盖

	// 如果不指定全路径,则只检查PATH变量中存储的命令
	if((pid = fork())==0) {
		printf("in child process 1......\n");
		//flag = execvp("./hello", NULL);
		//envp变量的用
		char *envp[]={"PATH=.", NULL};
		flag = execve("hello", NULL, envp);
		if(flag == -1)
			printf("exec error!\n");
	}

	if((pid = fork())==0) {
		printf("in child process 2......\n");
		//执行ls命令
		flag = execlp("ls", "-al", NULL);
		if(flag == -1)
			printf("exec error!\n");
	}
	
	if((pid = fork())==0) {
		printf("in child process 3......\n");
		//启动chrome浏览器
		flag = execv("/usr/bin/chromium-browser", argv);
		if(flag == -1)
			printf("exec error!\n");
	}
	printf("in parent process ......\n");
	return 0;
}



2. hello程序

#include <stdio.h>  
  
int main(void)  
{  
    printf("Hello world!\n");  
    return 0;  
}  

3. 运行结果

root@ubuntu:.../Linux_C/Process# ./exec_t  
in child process 1......  
in parent process ......  
in child process 3......  
root@ubuntu:.../Linux_C/Process# in child process 2......  
Hello world!  
exec_t    fifo_read.c   fork_1.c  hello.c    msg_send.c   signal_1.c  
exec_t.c  fifo_write.c  hello     msg_receive.c  semop_P_V.c  

已在现有的浏览器会话中创建新的窗口。 
1
0
分享到:
评论

相关推荐

    Linux中使用exec函数族详解及示例代码 | 嵌入式Linux应用开发篇 – 03

    1.exec函数族 exec 为 execute(执行),exec 函数族用来替换调用进程所执行的程序,该进程的用户空间代码和数据完全被新程序替换,从新程序的启动例程开始执行,替换前后进程的 PID 不会改变。 exec函数族中包括6个...

    PHP中exec函数和shell_exec函数的区别

    exec函数和shell_exec函数都可以用来执行Linux命令,但它们获取命令执行结果的方式不同。exec函数只能获取命令的最后一行输出,而shell_exec函数可以获取命令的所有输出。具体来说,当需要执行的命令返回多行结果时...

    Linux C 函数 使用手册 chm格式

    Linux C 函数使用手册是C语言开发者在Linux环境下不可或缺的参考资料。CHM(Compiled Help Manual)格式是一种由微软开发的帮助文档格式,它将文本、图片等信息编译成单一的二进制文件,便于快速检索和查看。在这个...

    Linux c 函数使用手册 Linux下编程

    这份"Linux c 函数使用手册"提供了一套全面的参考资源,帮助开发者深入理解和运用这些函数。以下是一些关键知识点的概述: 1. **标准库函数**: - `stdio.h`:包含输入/输出函数,如`printf`用于格式化输出,`...

    Linux C 函数详解

    《Linux C 函数详解》是一本专为程序员和系统开发者设计的工具书,全面而深入地探讨了在Linux环境下使用C语言进行程序开发时所涉及的各种函数。这本书旨在帮助读者理解并熟练掌握C语言的标准库函数,以及在Linux系统...

    linux进程之exec函数族.zip

    `execv()`函数使用当前进程的环境。 5. `execvp()`:与`execv()`相似,但会搜索`PATH`环境变量查找可执行文件。 6. `execve()`:最通用的`exec`函数,它接受三个参数:程序路径、参数数组和环境变量数组。这个函数...

    LinuxC函数库中文手册

    5. **数组与指针**:C语言中数组和指针的关系密切,如通过指针访问数组元素,使用memcpy和memset函数进行内存块的复制和清零。 6. **错误处理**:errno全局变量和perror函数用于记录和打印错误信息,帮助调试程序。...

    Linux C 函数使用手册

    《Linux C 函数使用手册》是一本非常实用的资源,主要针对在Linux环境下进行C语言编程的开发者。手册详尽地介绍了各种C语言函数的使用方法,为开发者提供了方便快捷的查询工具。通过这本书,你可以深入理解Linux C...

    Linux开发函数手册

    4. **进程操作篇**:讨论了如何在Linux中创建、管理、通信和调度进程,如fork()、exec()、wait()和signal()函数,这些都是实现并发编程的基础。 5. **文件权限控制篇**:讲解如何使用chmod、chown、chgrp等命令,...

    linux c函数大全

    在Linux环境中,C语言可以使用套接字接口进行网络通信,如`socket`, `bind`, `listen`, `accept`, `connect`, `send`, `recv`等函数。 九、线程与同步 1. `pthread_create`, `pthread_join`: 创建和等待线程结束。 ...

    《LinuxC 函数全集》

    通过《Linux C 函数全集》这本书,开发者能够全面了解和掌握在Linux环境中使用C语言进行系统级编程所需的各种函数和技巧,从而提高开发效率和代码质量。书中可能详细解释了每个函数的用途、参数、返回值以及示例代码...

    Linux C 函数详解(PDF)

    - 进程控制:fork()、exec()、wait()系列函数。 - 线程管理:pthread_create()、pthread_join()等。 以上是C语言在Linux环境下的一些核心知识点,本书“Linux C函数详解”会详细讲解这些概念并提供丰富的实例,...

    linux c 函数参考文件

    例如,`open`函数用于打开一个文件或设备,`read`和`write`则用于从文件或向文件传输数据,而`fork`和`exec`则涉及进程的创建和执行新的命令。掌握这些系统调用的使用,可以让开发者更深入地理解操作系统如何工作,...

    linux进程函数大全

    在Linux操作系统中,进程是程序执行的实例。本篇文章主要探讨了几个与进程管理相关的函数:atexit、execl、execlp以及execv。这些函数允许程序员在程序执行的不同阶段进行控制,如设置程序结束前要调用的函数,或者...

    linux c函数速查手册

    Linux C函数库,也称为GNU C Library(通常缩写为glibc),提供了丰富的API供开发者使用。这份“Linux C函数速查手册”是针对C语言程序员的宝贵资源,帮助他们快速查找和理解各种函数的用法。 手册分为两个版本:...

    linuxc 函数详解

    在编写Linux C程序时,通常不需要直接调用系统调用,而是使用标准C库中提供的库函数,例如stdio.h、stdlib.h等头文件中定义的函数。当库函数不能满足需求时,才直接使用系统调用。这可以通过包含头文件unistd.h、sys...

    linux C函数详解

    《Linux C函数详解》这本书是Linux/unix环境下C/C++开发者的重要参考资料,它详细解析了在这些操作系统中广泛使用的C语言函数。对于那些希望深入理解系统级编程或提高C编程技能的人来说,这本书提供了宝贵的洞见。 ...

    Linux C 函数手册

    Linux提供了丰富的进程控制函数,如`fork` 创建子进程,`exec` 家族函数替换当前进程执行新的程序,`wait` 和 `waitpid` 用于父进程等待子进程结束。 7. **线程操作**: 在多线程编程中,`pthread_create` 创建新...

    Linux函数详解(函数大全)

    本文将基于"Linux函数详解(函数大全)"这一主题,深入解析Linux C函数的使用和重要性,涵盖从基本输入输出到文件操作,再到进程控制等多个方面。 首先,我们从最基础的输入输出函数开始,如`printf`和`scanf`,...

    Linux C函数合集

    - `exec()` 系列函数:用新程序替换当前进程的执行体。 - `wait()` 和 `waitpid()`:等待子进程结束。 - `exit()`:终止进程并返回一个退出状态。 8. **信号处理函数**: - `signal()`:注册信号处理器。 - `...

Global site tag (gtag.js) - Google Analytics