3. 进程控制
3.1 环境变量
3.1.1 获取环境变量getenv()
参数 | 说明 |
---|---|
name | 环境变量 |
return | 成功:环境变量的值 失败:NULL |
3.1.2 修改或添加环境变量setenv()
参数 | 说明 |
---|---|
name | 环境变量名 |
value | 变量值 |
overwrite | 当环境变量存在时 0:不重写 非0:重写 |
return | 成功:0 失败:-1,并设置errno |
3.1.3 删除环境变量unsetenv()
参数 | 说明 |
---|---|
name | 环境变量名 |
return | 成功:0 失败:-1,并设置errno |
3.2创建子进程fork()
参数 | 说明 |
---|---|
return | 成功:子进程:0;父进程:子进程PID 失败:-1,并设置errno |
3.3 获得当前进程PIDgetpid()
参数 | 说明 |
---|---|
return | 返回当前进程的PID |
3.4 获得父进程PIDgetppid()
参数 | 说明 |
---|---|
return | 返回父进程的PID |
示例:
#include <stdio.h>
#include <unistd.h>
int main(int argc, char* argv[])
{
printf("Begin...\n");
pid_t pid = fork();
if(pid < 0)
{
perror("fork error:");
return -1;
}
if(pid == 0)
printf("This is child process, PID = %d, PPID = %d\n", getpid(), getppid());
if(pid > 0)
printf("This is parent process, pid = %d, PID = %d, PPID = %d\n", pid, getpid(), getppid());
printf("End...\n");
return 0;
}
3.5 执行一个文件execl()
参数 | 说明 |
---|---|
pathname | 可执行文件路径 |
arg | |
return | 成功:不返回 失败:-1,并设置errno |
3.5 执行一个文件execlp()
参数 | 说明 |
---|---|
file | 可执行文件路径 |
arg | |
return | 成功:不返回 失败:-1,并设置errno |