Linux exec简介
来源:互联网 发布:ruby windows 编辑:程序博客网 时间:2024/06/05 11:28
exec系列函数简介
fork
子进程之后,子进程要调用exec
系列函数执行程序,这个调用用新程序替换了当前进程的正文段、数据段、堆段、栈段。
#include <unistd.h>extern char **environ;int execl(const char *path, const char *arg, ...);int execle(const char *path, const char *arg, ..., char * const envp[]);int execv(const char *path, char *const argv[]);int execlp(const char *file, const char *arg, ...);int execvp(const char *file, char *const argv[]);int execvpe(const char *file, char *const argv[],char *const envp[]);
第一个参数为path
的是需要加路径
第一个参数为filename
的是在PATH
环境变量中搜索
执行exec
后,进程ID没有变。新程序从调用的子进程继承了下面属性:
进程ID和父进程ID
实际用户ID和实际组ID
附属组ID
进程组ID
回话ID
等等
下面写个程序,进行简单验证,代码也可以:github
#include <stdio.h>#include <stdlib.h>#include <assert.h>#include <unistd.h>#include <sys/time.h>#include <malloc.h>int main(int argc, char **argv){ pid_t pid; if((pid=fork())<0) { printf("fork error\r\n"); return -1; } else if(pid == 0) { printf("child pid = %ld\r\n",(long)getpid()); printf("child uid = %ld\r\n",(long)getuid()); printf("child gid = %ld\r\n",(long)getgid()); // execl("/bin/ls", "ls", "-l", (char *)0); execlp("ls", "ls", "-l", (char *)0); } else { int stat; pid_t pid=wait(&stat); printf("child terminate pid = %ld\r\n",(long)pid); printf("child terminate uid = %ld\r\n",(long)getuid()); printf("child terminate gid = %ld\r\n",(long)getgid()); } return 0;}
阅读全文
1 0
- Linux exec简介
- linux c编程system与exec等区别简介
- linux exec
- linux-exec
- linux exec
- Linux exec
- exec()函数族用法简介
- fork/exec/system 用法简介
- linux c语言 fork() 和 exec 函数的简介和用法
- linux c语言 fork() 和 exec 函数的简介和用法
- linux c语言 fork() 和 exec 函数的简介和用法
- Linux exec函数族
- Linux exec函数族
- linux find exec rm
- linux exec命令
- linux find exec rm
- Linux exec函数族
- linux exec的用法
- javascript高级程序教程中关于闭包与变量的问题
- 安卓自定义view绘制尺寸
- 机器学习中常用的矩阵求导公式
- java.lang.NoClassDefFoundError org/apache/commons/collections/FastHashMap
- hdu5510_Bazinga_(剪枝+kmp)
- Linux exec简介
- Html-行级标签
- CodeForces
- Linux netstat命令详解
- 走向云计算之Hadoop基本介绍及生态系统
- java培训第一天
- 计算机软件编程英语词汇集锦
- android binder机制,注册系统服务---Java层注册系统服务
- 矩阵求导计算法则 例题