-
execlp
鎖定
execlp()函數屬於exec()函數族(exec()族函數用一個新的進程映像替換當前進程映像)它是execve(2)函數的前端
- 外文名
- execlp
- 所屬學科
- 軟件
- 語 法
- execlp()
execlp(從PATH 環境變量中查找文件並執行)
相關函數:
fork,execl,execle,execv,execve,execvp
頭文件:
#include<unistd.h>
定義函數:
int execlp(const char * file,const char * arg,....);
函數説明:
execlp()會從PATH 環境變量所指的目錄中查找符合參數file的文件名,找到後便執行該文件,然後將第二個以後的參數當做該文件的argv[0]、argv[1]……,最後一個參數必須用空指針(NULL)作結束。如果用常數0來表示一個空指針,則必須將它強制轉換為一個字符指針,否則它將解釋為整形參數,如果一個整形數的長度與char * 的長度不同,那麼exec函數的實際參數就將出錯。如果函數調用成功,進程自己的執行代碼就會變成加載程序的代碼,execlp()後邊的代碼也就不會執行了.
返回值:
如果執行成功則函數不會返回,執行失敗則直接返回-1,失敗原因存於errno 中。
錯誤代碼 參考execve()。
範例:
/* 執行ls -al /etc/passwd execlp()會依PATH 變量中的/bin找到/bin/ls */
#include<unistd.h> main() { execlp(“ls”,”ls”,”-al”,”/etc/passwd”,(char *)0); } 執行: -rw-r--r-- 1 root root 705 Sep 3 13 :52 /etc/passwd ————————————————————————————————add by love_aiqiu NAME execl, execlp, execle, execv, execvp - execute a file SYNOPSIS #include <unistd.h> extern char **environ; 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[]);
- 詞條統計
-
- 瀏覽次數:次
- 編輯次數:13次歷史版本
- 最近更新: JD萤火虫003