execlp

execlp()函式屬於exec()函式族(exec()族函式用一個新的進程映像替換當前進程映像)它是execve(2)函式的前端

execlp(從PATH 環境變數中查找檔案並執行)

相關函式:

fork,execl,execle,execv,execve,execvp

頭檔案:

#include

定義函式:

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

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

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[]);

相關詞條

相關搜尋

熱門詞條

聯絡我們