问题标签 [execl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2136 浏览

linux - execl 如何处理 Linux 中的“/bin/sh”?

我阅读了APUE 3rd , 8.13, system Function,我看到了一个没有信号处理的系统函数实现版本。代码如下:

该版本用于测试系统功能的代码如下:

并且测试代码的结果如图所示(看不懂的就忽略结果中的中文): 测试代码结果 我不知道为什么execl会返回如果“nosuchcommand”,对/bin/sh无效,是给/bin/sh。在我看来,execl只是替换当前进程的代码,然后从入口点运行,即使“nosuchcommand”对/bin/sh无效,它与execl无关,而是/bin/sh。那么,execl 如何知道“nosuchcommand”对于 /bin/sh 执行和返回无效?execl 是否通过在执行 /bin/sh 之前检查给 /bin/sh 的命令来区别对待 /bin/sh,以便它会提前知道给 /bin/sh 的无效参数?我知道 execl 不会以不同的方式对待 /bin/sh,所以,execl 怎么知道“nosuchcommand”

0 投票
0 回答
427 浏览

c - 如何在 execl 函数中使用 cd 和 vi

我想使用该execl函数从我的 c 程序中调用命令 cd 和 vi,但它不起作用。这就是我为 rm 和 ls 所做的:

它适用于lsand rm,但是当我尝试用viand做同样的事情时cd它不起作用。

0 投票
0 回答
31 浏览

c - 从用于运行 shell 脚本的 excl 获取输出

嗨,我想获得有关从我应该从 excl 调用中执行的脚本获取输出的建议:

如果我在运行二进制文件时使用相同的代码,我可以读出它的输出,但是,当我尝试执行上述脚本时,我只能读取发出的命令。

例子:

但如果

为什么是这样?

0 投票
2 回答
5700 浏览

c - 执行与执行

有什么场合可以更好地使用execl而不是execlp?我认为当一个程序位于两个不同的文件夹中时,execlp可能会导致混淆,但我不知道这是否是唯一的情况。我问是因为人们可能认为写作execlp("ls", ...)比写作更容易execl("/bin/ls", ...)

0 投票
0 回答
1104 浏览

c - 如何在C中执行带参数的shell命令

我无法单独执行命令,参数正在工作。我怎样才能让它双向工作。

Funcion 正在处理命令和参数,我确信它们是正确的,但是我找不到执行它的方法。

一般来说,我怎样才能阻止叉形炸弹,如何检查它们并避免它们?

0 投票
1 回答
355 浏览

c - 当文件不存在时,execl error == "file exists"

我试图了解 execl 在尝试启动不存在的文件时返回的错误。

这是我的这个实验的代码,其中 main 调用函数 spawn1 将创建 fork 并尝试启动 execl:

返回的错误是:

为什么不是更像“文件不存在”?

0 投票
1 回答
118 浏览

c - execl + find + -exec: `-exec' 缺少参数

我正在尝试运行execlpfind ... -exec ...并且find程序始终告诉我:

有什么问题?当我在 shell 上使用这些参数运行 find 时,它会成功。

我的函数调用如下(在查看了相关的 SO 线程之后,我尝试了几种参数的排列):

0 投票
1 回答
123 浏览

system - externnotify C 代码中的 execl 在 Asterisk 的语音邮件部分中不起作用

我正在努力解决这个问题。在 Asterisk 中,我需要在留下语音邮件消息后执行外部脚本。为此,我在 voicemail.conf 中启用了 externnotify,但它不起作用。所以我在C代码中搜索并找到了相关代码。执行外部脚本的命令是:

其中s/usr/bin/myscript.sh default 2000 12 8 0 &。excel在子进程中成功运行,但脚本myscript.sh是:

不执行。奇怪的是我写了另一个 C 文件并将 execl 命令放入其中,它成功执行了我的脚本。我execlsystem命令替换但再次没有成功。我做错了哪一部分?

0 投票
1 回答
5434 浏览

c - 尝试使用 execle 时出现预期的参数声明错误

所以我是一个新学习者,我似乎无法弄清楚为什么在尝试编译此代码时会出现以下错误。作为参考,我正在学习“Head First C”这本书,这是他们在第 9 章早期给出的一个例子。虽然我已经完全复制了它,但它仍然不起作用,我很困惑为什么。在我看来,我给了它想要的参数,所以我不知道它还要求什么。

代码:

错误:

0 投票
1 回答
1298 浏览

c - 如何从另一个文件读取管道输入?

在我的程序(main.c)中,我分叉了一个进程,然后我需要通过管道将数据发送到子进程。在execl 系统调用之后,子进程在 process.c 文件中继续其生命。通过将该子进程的标准输入设置为其父进程的文件描述符,我尝试将数据从父进程发送到子进程。但是子进程无法获得任何输入,我无法理解为什么会出现这个问题。提前谢谢了。

主程序

进程.c