gpt4 book ai didi

c - 为什么它在 execlp 之后不返回?正常吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:15:15 25 4
gpt4 key购买 nike

所以我是 C 的新手,这是我遇到但无法理解的一个问题。首先,execlp() 仅按名称(通过搜索)和参数执行一个程序。在这里,我想以“-u”作为参数执行“who”,但它不会从 execlp 返回任何内容。为什么?这正常吗?

    #include <stdio.h>
#include <fcntl.h>
#include <unistd.h>

main()
{
int j = 0;
if(fork() == 0)
{
j++;
if(execlp("who", "who", "-u", (char*)0) == -1)
{
j++;
}
else
{
printf("\nStoinostta na j = %d", j);
return;
}
}
else
{
--j;
printf("\nStoinostta na j=%d", j);
}
printf("\nStoinostta na j ravno na %d", ++j);
}

最佳答案

成功时,execlp 用您指定的命令替换当前进程。它只会在失败时返回。联机帮助页应该清楚这一点。

关于c - 为什么它在 execlp 之后不返回?正常吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17058149/

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