【发布时间】:2016-04-15 04:32:00
【问题描述】:
创建生产者/消费者系统。生产者打算打电话给消费者,但我得到了错误
execl failed for producer: Permission denied
来电:
if (execl("/home/aaron/Documents/Programming/c/producerAsignment",
"runConsumer", NULL) == -1) {
perror("execl failed for producer");
exit(3);
}
我曾尝试将可执行文件放入与调用它的程序相同的目录中,但没有任何区别。
ls -l /home/aaron/Documents/Programming/c/producerAsignment
...
-rwxrwxr-x 1 aaron aaron 8760 Jan 10 22:28 runConsumer
...
【问题讨论】:
-
在 bash 中输入
ls -l /home/aaron/Documents/Programming/c/producerAsignment并发布输出 -
aaron@aaron:~$ ls -l /home/aaron/Documents/Programming/c/producerAsignment 总计 60 drwxrwxr-x 3 aaron aaron 4096 Dec 16 13:49 build drwxrwxr-x 3 aaron aaron 4096 12 月 16 日 13:49 dist -rw-rw-r-- 1 aaron aaron 3482 Nov 23 22:56 Makefile drwxrwxr-x 3 aaron aaron 4096 11 月 23 日 22:56 nbproject -rw-rw-r-- 1 aaron aaron 3782 1 月 10 日 23:00 生产.c -rwxrwxr-x 1 亚伦亚伦 13484 1 月 10 日 22:53 运行 -rwxrwxr-x 1 亚伦亚伦 8760 1 月 10 日 22:28 运行消费者 -rwxrwxr-x 1 亚伦亚伦 9050 12 月 7 日 09:32 黄色
-
您是在给出目录的名称吗?看到这个帖子stackoverflow.com/questions/19414460/…
-
execl的第一个参数是可执行文件的路径。