gpt4 book ai didi

c - execl 调用奇怪的行为

转载 作者:行者123 更新时间:2023-11-30 19:47:22 27 4
gpt4 key购买 nike

  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]);
}

所以我遇到的奇怪问题是,当 execl 调用放在所有这些 printf 调用的末尾时,它不会执行任何操作。但是,当我将上面的 execl 调用放在所有 printf 函数的顶部时,它会按预期工作。

我在 execl 调用中犯了错误吗?

谢谢!

最佳答案

您的 execl 需要将 (char *)NULL 作为最后一个参数

execl("/bin/cat", "cat", argv[1], (char *)NULL);

关于c - execl 调用奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22078929/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com