execl error: Permission denied 錯誤解決
來源:程序員人生 發布時間:2014-10-04 08:00:01 閱讀次數:2693次
execl error: Permission denied 錯誤解決
在調用execl函數執行一個文件的話要確保:全路徑名是正確的,第二個參數必須對應為第一個參數的文件名;最后一個參數是 (char *)NULL ;可以直接把第一個參數放在命令行運行來檢驗。否則會出現 Permission denied 錯誤。值得注意的是,即使執行的是一個解釋器文件,也需要其有可執行權限。(這是在看APUE時遇到的問題)
代碼如下(需要解釋器文本 testinterp 有執行權限):
int main(void)
{
pid_t pid;
if ((pid = fork()) < 0) {
err_sys("fork error");
} else if (pid == 0) { /* child */
if (execl("/home/vonzhou/Coding/apue/proccontrol/testinterp", "testinterp", "myarg1", "MY ARG2", (char *)0) < 0)
err_sys("execl error");
}
if (waitpid(pid, NULL, 0) < 0) /* parent */
err_sys("waitpid error");
exit(0);
}
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈