问题标签 [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 投票
1 回答
1102 浏览

c - execl 的使用(参数)

C 的新手。所以我有一个名为 test.c 的程序(不需要任何参数来启动,像这样编译“gcc test.c -o test”)我想让我的其他程序执行测试我知道我必须使用 execl但我只是无法理解 execl 函数中的参数

execl(代码在这里)

0 投票
1 回答
94 浏览

c++ - 如何从c文件运行odaslive程序

所以我试图从我正在制作的 ac 文件中调用一个程序,但我能够做到这一点的唯一方法是使用 system() 函数,它本身会导致错误。在我使用的终端中运行程序;

这就是我目前试图用来运行同一个程序的程序,它可以编译并将在终端中运行,但没有任何反应。

0 投票
2 回答
1143 浏览

c++ - 如何使用 gmock 框架在 C++ 单元测试中模拟 fork 和 execlp 系统调用?

我有现有的 C++ 代码,它使用 fork() 系统调用创建一个子进程。子进程使用 execlp() 系统调用执行 linux 命令。现在我想使用 100% 代码覆盖率的 gmock 框架来测试这段代码。我用谷歌搜索了很多,但我没有得到任何完整的证明解决方案。有人可以帮我吗?

这是我的 SUT:

我想模拟 fork() 和 execlp() 系统调用。我怎么能那样做?

0 投票
1 回答
109 浏览

c++ - 什么 execl ("/bin/emacs", "/etc/fstab"); 做?

例如:

这条线实际上是做什么的?

execl函数系列用新的过程映像替换当前的过程映像。

所以这个程序启动了,让我们运行一下程序:

它将进程分叉为 2,第一个分叉打印:

之后它再次分叉,所以你有 4 个进程和一个打印:

一个子进程有pid == 0. 有一个子进程pid1和一个子进程,pid2所以会有:

来了execl。它在这一点上究竟做了什么?

0 投票
1 回答
955 浏览

c - execl() 在参数中使用整数 (ping)

我一直在尝试使用 fork() 为一个父进程创建两个子进程,然后为这两个子进程运行两个“不同”命令。我正在尝试使用这些子进程 ping 两个不同的网站。问题是当执行第一个 ping 'command' 时它并没有结束,我尝试通过传递 -c amount 来限制输出量来解决这个问题,但由于某种原因它没有完成这项工作。这是代码:

0 投票
2 回答
370 浏览

c - 如何使用 execle() 为 /bin/login 传递环境变量?

这类似于execle执行bash时如何设置环境变量?

我正在尝试在 C 中使用 execle() 来执行 /bin/login 并将环境变量传递给目标 shell。并且不能让它工作。

我已经尝试通过手册页中描述的环境作为 VAR=VAL 字符串的 NULL 终止数组。我也在通话前尝试了 putenv() 。

例如:

成功登录后,我希望将 MYVAR 视为环境变量,但只有变量,如 USER、HOME、SHELL、PATH 等。

我尝试过使用 BusyBox 登录和使用 tinylogin ......结果相同。

非常感谢任何帮助。

0 投票
1 回答
206 浏览

python - 在 Python 中使用 forks 和 os.execl 给了我一个 OSError

我有一个更大的程序(150 行左右),但这似乎是我唯一的问题。我设法减少了这个问题,并将它变成了一个更小的程序。本质上,它分叉程序并尝试执行 linux 命令(我正在使用 ubuntu 运行它)。我得到以下输出:

下面是程序的代码

我哪里错了?

0 投票
1 回答
325 浏览

c - 将 bash 命令 echo 和 bc 流水线化到 C 程序中

我正在尝试做一个小 C 程序来实现两个 bash 命令的管道:echo $arithmeticOperation | 公元前

$arithmeticOperation 是一个作为输入的字符串。

该程序在执行第一个命令时工作正常,但是当我运行第二个命令时,我得到了正确的输出,但是执行 bc 的子进程仍然卡住,阻止子进程结束。

所以在这一行父进程被阻塞:waitpid(pid2,NULL,0);

您认为问题可能出在哪里?

抱歉,如果我问错了问题,这是我的第一个问题。谢谢。

因此,如果我将“1+1”数字作为输入字符串,我会得到正确的输出,但是执行 bc 的进程永远不会退出

0 投票
2 回答
82 浏览

c - 为什么我不能使用 execl() 来运行 bash 脚本?

我正在尝试从树莓派上的网站按钮运行 bash 脚本,该脚本位于 home/pi/ 中。下面的代码片段显示了我当前的解决方案。每当按下网站按钮时,它都会在 ac 文件中调用此代码块。

我在 Raspberry Pi 3+ 上运行它,我正在运行的脚本有 777 权限并且归 pi:www-data 所有,如果有帮助的话。

我通过创建一个名为“TEST”的空目录来测试是否真的调用了 IF 块。底部的代码片段显示了我是如何解决这个问题的。这似乎可以正常工作(只要我按下网站上的按钮,我就会出现“ls”home/pi/ 并且那里有一个名为“TEST”的新文件夹)。不幸的是,当我运行最上面的代码片段(运行 SelfTest.sh)时,脚本没有运行(脚本本身应该将输出记录到带有时间戳的日志文件中,并且按下按钮不会更新时间戳。时间戳仅在我从终端运行脚本时更新)

每次我按下网站按钮时应该发生的事情是它应该运行 SelfTest.sh。我应该能够通过阅读日志文件来验证这一点,但是当我按下网站按钮时它永远不会更新。

如果您需要任何额外信息,请告诉我!

0 投票
0 回答
45 浏览

c - 执行不启动程序

我有两个程序,其中一个通过 execl 调用另一个,但它没有启动。

这是调用程序:

“你好”程序: