程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 簡略比擬C說話中的execl()函數與execlp()函數

簡略比擬C說話中的execl()函數與execlp()函數

編輯:關於C++

簡略比擬C說話中的execl()函數與execlp()函數。本站提示廣大學習愛好者:(簡略比擬C說話中的execl()函數與execlp()函數)文章只能為提供參考,不一定能成為您想要的結果。以下是簡略比擬C說話中的execl()函數與execlp()函數正文


C說話execl()函數:履行文件函數
頭文件:

#include <unistd.h>

界說函數:

int execl(const char * path, const char * arg, ...);

函數解釋:execl()用來履行參數path 字符串所代表的文件途徑, 接上去的參數代表履行該文件時傳遞曩昔的argv(0), argv[1], ..., 最初一個參數必需用空指針(NULL)作停止.

前往值:假如履行勝利則函數不會前往, 履行掉敗則直接前往-1, 掉敗緣由存於errno 中.

典范

#include <unistd.h>
main()
{
  execl("/bin/ls", "ls", "-al", "/etc/passwd", (char *)0);
}

履行:

/*履行/bin/ls -al /etc/passwd */
-rw-r--r-- 1 root root 705 Sep 3 13 :52 /etc/passwd

C說話execlp()函數:從PATH 情況變量中查找文件並履行
頭文件:

#include <unistd.h>

界說函數:

int execlp(const char * file, const char * arg, ...);

函數解釋:execlp()會從PATH 情況變量所指的目次中查找相符參數file 的文件名, 找到後便履行該文件, 然後將第二個今後的參數當作該文件的argv[0], argv[1], ..., 最初一個參數必需用空指針(NULL)作停止.

前往值:假如履行勝利則函數不會前往, 履行掉敗則直接前往-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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved