execl error: Permission denied 錯(cuò)誤解決
來(lái)源:程序員人生 發(fā)布時(shí)間:2014-10-04 08:00:01 閱讀次數(shù):2704次
execl error: Permission denied 錯(cuò)誤解決
在調(diào)用execl函數(shù)執(zhí)行一個(gè)文件的話要確保:全路徑名是正確的,第二個(gè)參數(shù)必須對(duì)應(yīng)為第一個(gè)參數(shù)的文件名;最后一個(gè)參數(shù)是 (char *)NULL ;可以直接把第一個(gè)參數(shù)放在命令行運(yùn)行來(lái)檢驗(yàn)。否則會(huì)出現(xiàn) Permission denied 錯(cuò)誤。值得注意的是,即使執(zhí)行的是一個(gè)解釋器文件,也需要其有可執(zhí)行權(quán)限。(這是在看APUE時(shí)遇到的問(wèn)題)
代碼如下(需要解釋器文本 testinterp 有執(zhí)行權(quán)限):
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);
}
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)