zoukankan      html  css  js  c++  java
  • exec函数族使用说明

    exec函数族使用说明

    #include <unistd.h>
    int execl(const char *pathname, const char *arg, ...)
    int execle(const char *pathname, const char *arg, ..., char *const envp[])
    int execv(const char *pathname, char *const argv[])
    int execve(const char *pathname, char *const argv[], char *const envp[])
        
    int execlp(const char *filename, const char *arg, ...)
    int execvp(const char *filename, char *const argv[])
    

    l 代表 list

    命令的参数是列举出来的execl("/bin/ls","ls","./",NULL),第一个参数是路径,后面的参数组合起来就是命令行要输入的命令

    v代表vector

    命令的参数是用字符串数组的形式给出

    char *const ps_argv[] ={"ps", "-o", "pid,ppid,pgrp,session,tpgid,comm", NULL};
    execv("/bin/ps", ps_argv);
    

    e 代表 environment

    传递新的环境变量

    char *const ps_envp[] ={"PATH=/bin:/usr/bin", "TERM=console", NULL};
    execle("/bin/ps", "ps", "-o", "pid,ppid,pgrp,session,tpgid,comm", NULL, ps_envp);
    

    p代表PATH

    $PATH环境变量里搜索程序名

    char *const ps_argv[] ={"ps", "-o", "pid,ppid,pgrp,session,tpgid,comm", NULL};
    execvp("ps", ps_argv);
    
  • 相关阅读:
    11.01T3 实数二分
    11.01T2 树状数组维护动态LIS
    11.1T1打表
    10.31T4 HAOI2010最长公共子序列 计数+容斥原理
    10.31T3 其他算法思想
    10.31T2 点双联通分量+预处理前缀+二分答案
    10.31T1 二分图
    10.30T3 换根
    10.30T2 二分+前缀和(后缀和)
    10.30T1 期望DP
  • 原文地址:https://www.cnblogs.com/rookiezjz/p/15813847.html
Copyright © 2011-2022 走看看