小编Arm*_*bal的帖子

我不明白execlp()在Linux中是如何工作的

我花了最近两天试图理解execlp()系统调用,但是我在这里.让我直截了当地谈谈这个问题.

man pageexeclp的声明系统调用为int execlp(const char *file, const char *arg, ...);与描述:该为const char ARG和随后的椭圆在execl的(),execlp()和execle()函数可以被认为是为arg0,ARG1,...,ARGN.

然而,在我们的教科书中,我看到系统调用就像这样被调用:( execlp(“/bin/sh”, ..., “ls -l /bin/??”, ...);"......"是我们想象的学生).然而,这个系统调用甚至不像系统调用的声明man page.

我非常困惑.任何帮助表示赞赏.

c linux exec

30
推荐指数
2
解决办法
11万
查看次数

IF语句中的语句如何工作?

我刚刚在进程间通信中开始编程教育,这段代码是在父进程代码部分编写的.根据我所读到的内容write(),-1如果失败则返回,0如果没有写入,则返回,如果成功则返回pipe()正整数.究竟是如何sizeof(value)帮助我们识别出来的?不是if(write(request[WRITE],&value,sizeof(value) < 1)一个更友好的阅读替代什么的sizeof(value).

if(sizeof(value)!=write(request[WRITE],&value,sizeof(value)))
{
     perror("Cannot write thru pipe.\n");
     return 1;
}
Run Code Online (Sandbox Code Playgroud)

代码说明:变量value是父进程中数字的输入,然后父进程通过子管发送给子进程,子进程对其进行一些算术运算.

任何有关该主题的澄清的帮助都非常适用.

编辑:在提问时如何突出显示我的系统功能?

c linux ipc pipe

0
推荐指数
1
解决办法
71
查看次数

标签 统计

c ×2

linux ×2

exec ×1

ipc ×1

pipe ×1