if (fork_return==0)
{
printf("FROM THE CHILD PROCESS \n");
//print process id
printf("The child id is: %d \n", (int) getpid ());
//parent id
printf("The parent id is: %d \n", (int) getppid ());
//group id
printf ("The group id is: %d \n", (int) getpgrp ());
printf("\n");
//call cat function
execl("/bin/cat","cat",argv[1]);
}
所以我遇到的奇怪问题是,当放置在所有这些printf调用的末尾时,execl调用将不会执行任何操作。但是,当我将execl调用放在所有printf函数的顶部时,它按预期工作。
我在execl电话中是否有错误?
谢谢!
答案 0 :(得分:0)
您的execl
需要(char *)NULL
作为最后一个参数
execl("/bin/cat", "cat", argv[1], (char *)NULL);