linux进程编程(三)-- execl()函数使用

来源:互联网 发布:js时间段选择控件 编辑:程序博客网 时间:2024/05/16 12:13

exce()族

exec()族函数功能是将当前的进程替换成一个新的进程,执行到exec()函数时当前进程就会结束新进程则开始执行。但新进程保留之前进程的进程号,本文以execl()函数为例来进行讲解。

execl()函数原型

#include <unistd.h>int execl(const char *path, const char *arg, .../* (char  *) NULL */);

参数
path - 执行文件的路径
arg - 执行文件的参数,可以比作arg0,,arg1,,arg2,…,argn
最后一个参数必须赋值为NULL

返回值
execl()函数只有在失败时才会返回,返回值为-1并设置errno信息。

实例

#include <stdio.h>#include <stdlib.h>#include <unistd.h>int main(void){    pid_t pid;    while(1) {        pid = fork();        switch(pid) {            case -1:                perror("fork");                exit(1);                break;            case 0:                printf("execute \"ls -l\"\n");                execl("/bin/ls", "ls", "-l", NULL);                perror("execl");                exit(1);                break;            default:                /*按下q键退出,其他键继续*/                if(getchar() == 'q') {                    exit(1);                }                break;        }    }    return 0;}
0 0
原创粉丝点击