进程程序替换---exec函数族
来源:互联网 发布:php 5.2.8 win32.zip 编辑:程序博客网 时间:2024/06/05 03:31
当我们fork创建新的子进程后,子进程通常调用exec函数以执行另一个程序。当进程
调用exec函数时,进程执行的程序完全替换为新的程序。exec并不创建新的进程,
所以前后进程的ID并未改变。(exec函数使得进程控制更加完善)
有六个以exec开头的函数,统称为exec函数
#include <unistd.h>
int execl(const char *path, const char *arg, ...);
int execlp(const char *file, const char *arg, ...);
int execle(const char *path, const char *arg, ..., char *const envp[]);
int execv(const char *path, char *const argv[]);
int execvp(const char *file, char *const argv[]);
int execve(const char *path, char *const argv[], char *const envp[]);
exec+l :
字母 l(list)要求将命令中的每个命令行参数都当做参数传给它,命令行参数可
变。最后以NULL结尾。
exec+v
字母 v (vector)构造一个指向各个参数的指针数组,把数组首地址当做参数传
递,数组中最后也已NULL结尾。
exec+e:
字母 e (environment)把新的环境变量表传给它。
exec+p :
不带字母p (表示path)的exec函数 第一个参数必须是程序的相对路径或绝对路径,例
如"/bin/ls"或"./a.out",而不能 是"ls"或"a.out"。
对于带字母p的函数: 如果参数中包含/,则将其视为路径名。 否则视为不带路径的程
序名,在PATH环境变量的目录列表中搜索这个程序。
l 和 v 不共存。
这些函数如果调用成功直接执行新的程序,出错返回 -1 。因此只有出错返回值。
这些函数中只有execve是内核的系统调用。其他的只是库函数,最终都要调用execve。
- 进程程序替换---exec函数族
- 进程程序替换------>exec 函数家族
- 进程控制-进程程序替换(exec函数簇)
- Linux----exec系列家族函数(进程程序替换)
- 进程替换(exec函数)
- Linux系统编程——进程替换:exec 函数族
- Linux系统编程——进程替换:exec 函数族
- Linux系统编程——进程替换:exec 函数族
- 【Linux系统编程】进程替换:exec 函数族
- Linux系统编程——进程替换:exec 函数族
- Linux系统编程——进程替换:exec 函数族
- linux:exec系列进程替换函数
- 进程控制exec函数族
- 启动进程:exec函数族
- exec函数族可以在进程中执行另外一个程序,字符串复制函数strncpy
- linux进程控制exec 函数族
- exec 函数族 --多进程编程
- linux 进程控制编程 exec族函数
- ETH挖矿软件挖矿教程-开发者1%〜2%费用重定向到您的钱包
- appium Androiddriver小demo
- ThreadLocal
- 单KEY业务,数据库水平切分架构实践
- php多图片(文件)上传
- 进程程序替换---exec函数族
- 静态代码块、构造代码块、构造函数
- ReplayKit 的屏幕录制功能
- 6位数字密码滚动破解
- Flutter学习之旅----环境搭建与Hello World
- 如何进行网站定位分析
- ext
- 【DOS网络命令】-nbtstat的用法
- 简单通讯录