问题标签 [execvp]

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 投票
1 回答
1124 浏览

c - 来自 execvp 的段错误

我正在尝试执行从套接字获得的输入。我将消息缓冲区放入 achar *[]中,它是空终止的,它适用于它,ls但它不适用于ls -la.

这是我解析和使用execvp.

0 投票
1 回答
268 浏览

c - execvp 和我;我怎样才能让它为我工作?

我创建了一个 shell,当我使用 system(1) 时它可以工作,但规范说不可以。我试图在最后使用 execvp ,但我不太确定如何去做。任何帮助的机会将不胜感激。

代码 ->

0 投票
1 回答
1130 浏览

c - 在 execvp() 之前将忽略的信号设置为 SIG_DFL

我正在编写一个库,在其中我 fork() 和 execvp() 来启动另一个程序。据我了解, execvX() 将“自定义”信号处理程序重置为 SIG_DFL,但它没有将任何忽略的信号处理程序设置为 SIG_DFL。

请记住,它是一个库,我无法控制用户将如何处理信号,将忽略信号的信号处理程序设置为 SIG_DFL 是否是个好主意?

如果是,是否有某种方法可以一次将所有信号处理程序设置为 SIG_DFL?我是否必须遍历所有信号编号?在这种情况下,我怎样才能找到最后一个可能的信号编号?我在 bits/signum.h 中看到了 _NSIG。这是 POSIX 的不变部分还是特定于 Linux?

谢谢。

0 投票
1 回答
10143 浏览

permissions - 使 execvp 权限被拒绝

我有一个makefile,我正在尝试运行但没有太多运气。这是发生的事情

我试着做,开始还可以。然后它给出一个错误,它无法找到该文件。但是,我可以对文件执行 ls -ld 没有任何问题。你知道发生了什么事吗?

更新

pgr@pgr:~/workspace/318/bootloader$ 文件 createimage.given createimage.given:ELF 32 位 LSB 可执行文件,Intel 80386,版本 1 (SYSV),动态链接(使用共享库),适用于 GNU/Linux 2.2。 5、不剥离

更新 2

0 投票
1 回答
1958 浏览

c - c中的freopen和execvp

我在 c 中做一个小的 shell 实现,我被卡住了。

我希望能够重定向stdinand stdout,但我很困惑。在我的 shell 中,当我想启动一个程序时,我使用该execvp函数。现在我希望能够重定向stdout,所以如果我运行另一个进程,输出应该被重定向到文件而不是屏幕。

这是示例代码:

但是,它确实在终端中打印,而不是在文件中。

0 投票
1 回答
4860 浏览

c - 在 C 中使用 strtok 解析输入

我有一个项目需要我在 C 中构建一个简单的 shell。我是 C 的新手,我现在面临的问题是在发送命令执行之前正确解析命令。我知道有几种不同的方法可以做到这一点,但我们需要使用 strtok ,我似乎遇到了一些问题。

这是我的全部代码:

这是几个命令的输出:

我只是觉得奇怪的是,它cd似乎工作得很好,但它并不真正喜欢其他任何东西。这让我认为稍后会出现问题(但在 numArgs 的 printf 之前?)。仅供参考,我们被告知每个命令不会超过 15 个参数或 256 个字符。

这让我沮丧了一段时间,所以对这个特定问题的任何帮助都会很棒(我意识到那里还有其他错误或糟糕的代码部分,但我想自己找出/修复这些)。非常感谢!:)

0 投票
4 回答
1566 浏览

c - 在调用 execvp 之前 C 测试文件是否存在

我正在 ubuntu 上编写一个 UNIX minishell,并尝试在此时添加内置命令。当它不是内置命令时,我 fork 然后子执行它,但是对于内置命令,我将在当前进程中执行它。

因此,我需要一种方法来查看文件是否存在(如果存在,则不是内置命令),但是 execvp 使用环境 PATH 变量自动查找它们,所以我不知道如何事先手动检查。

那么,你们知道我如何通过提供名称来测试参数以查看它是否是内置命令吗?

多谢你们。

0 投票
1 回答
592 浏览

c - 即使文件不存在,execvp 也不返回

我正在为课堂写一个小shell。我呼吁execvp使用非内置命令。在开发它的一段时间内,它以 -1 正常返回,一切正常。但是,现在我可以在 shell 中输入任何内容,它会启动一个进程,该进程会立即以状态 11 终止(SIGSEGV,分段错误)。

Meta:我曾尝试将其缩减为 SSCCE,但没有成功:当我删除 周围的所有内容时execvp,它可以正常运行。我很乐意提供完整的源代码,但目前超过 750 行似乎过多。

这是调用 execvp 的函数。

这是解析线。

0 投票
2 回答
5886 浏览

c - execvp 和参数类型 - ansi c

0 投票
1 回答
394 浏览

c - 用于复制文件的 execvp 的替代方案,一旦复制完成,我希望它通知

我有使用forkexecvp函数的 c 代码,代码的目的是在复制完成后将 src_file 复制到 target_path,通知用户其状态(打印消息)

我知道 execvp 的使用会替换当前的进程映像。我想知道的是,是否有任何替代方案,以便在完成提供给 execvp 的 cmd 后,控制返回到我的程序并运行后续代码。