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

c - 变量作为 execl 函数中 winexe 命令的参数不起作用

我想通过 C 程序中的 execl 函数调用来执行 winexe 命令。如果我在 execl 调用中硬编码凭据和机器名称,它可以工作,如下所示

但是,如果我用变量替换主机名或凭据,它就不起作用。

输出:

上面的输出表明这是一个语法错误。但我在变量中使用了确切的字符串,包括 / 和 %。请注意,我正在从文件中读取上述变量。我已经使用 execl 函数将变量作为参数传递给其他命令,但我不知道为什么 winexe 不起作用!

请让我知道如何在 execl 函数调用中使用变量作为 winexe 参数。

0 投票
0 回答
83 浏览

c++ - Execl 怎么能返回但是 WIFEXITED 和 WEXITSTATUS 不表示错误?

我正在使用 execl 执行二进制文件。这一切正常,waitpid 返回一个正确的 pid,WIFEXITED(pidstatus) 给出 1,WEXITSTATUS(pidstatus) 给出 0。

现在我更改该二进制文件的权限以限制其访问。

二进制文件没有被执行并且 execl 现在返回,我相信它永远不应该(原因-1)。然而,waitpid 仍然返回一个正确的 pid,宏 WIFEXITED(pidstatus) 和 WEXITSTATUS(pidstatus) 没有改变。为什么它们仍然表明操作成功?

0 投票
0 回答
122 浏览

c - execl() 调用在 main() 中成功,在函数中失败

我是系统编程的初学者,我目前正在尝试使用套接字、管道等进行基本的服务器/客户端通信

更具体地说,我希望能够作为客户端连接并输入“/bin/echo hello”之类的内容。然后服务器会将字符串拆分为命令及其参数,并通过调用调用 execl() 的函数来运行命令。现在我只是在尝试传递用户输入之前测试 exec 调用。为什么以下失败,errno 设置为 EFAULT: bad address?

但是在 main() 中运行相同的代码运行得很好,输出为 'hello'

不能在函数中运行 exec() 系统调用吗?提前致谢。

0 投票
1 回答
554 浏览

c - 准确处理所有到达父进程的 SIGUSR1 类型的信号。C

我想编写一个程序,使用 fork() 函数创建 N 个孩子。每个孩子将等待 0 到 3 秒,然后它将向其父母发送一个信号 SIGUSR1。Parent 处理所有这些信号。

问题是我的程序并不总是处理来自它的孩子的所有信号。如何修复它?

第二个问题:我知道我不应该在处理程序中使用 printf ,因为可能会发生不好的事情。我怎样才能替换这个指令?

主程序

孩子.c

输出:

0 投票
0 回答
435 浏览

c - 使用 C 语言 (Linux) 在后台运行睡眠

我正在尝试sleep使用 '&' 调用该函数以便在后台运行它。

C程序将取代linux的终端。

C 程序(Linux)中的命令行必须包含一个execl命令,但它不起作用。

命令是:

路径是:“/bin/sleep”。

execl如果我不写“&”,则运行正常,但如果我输入“&”,则输出为:

我应该怎么办?谢谢, 海姆

0 投票
1 回答
2575 浏览

c - 在 C linux 中创建子进程

使用fork()函数创建子进程。

父进程通过execl()运行cat f1.c命令的函数运行更改进程的内容。

子进程运行 traceroute www.google.com命令。

0 投票
1 回答
129 浏览

c - 如何在 execl() 函数中更改时区(TZ=UTC)输出。

我正在使用运行一个二进制文件,例如。'ls -la' 在我的 c 代码中使用execl()函数并读取子进程的返回状态。execl("/bin/ls", "ls", "-la", NULL); 并通过waitpid(pid, &status, 0 )接收子状态;功能。但我需要把我的输出放在不同的时区,比如TZ=UTC。所以喜欢使用 'ls -la' 作为 'TZ=UTC ls -la'。那么是否可以使用 execl() 函数传递时区参数。或者有什么方法可以在特定时区获得输出。找c代码。

0 投票
1 回答
716 浏览

c - 让子进程暂停,直到收到父进程的信号以执行 execl 任务

我正在尝试按照问题Make children process wait until received parent's signal的答案开发一个简单的铁路模拟。

我的任务:我正好有 5 个进程代表火车。我需要通过 创建这 5 个进程(T1、T2、T3、T4 和 T5)fork(),并暂停每个进程,直到所有进程都创建完毕。之后,父进程将向子进程发送信号,每个子进程将使用execl execl(execl_path_name, CHILDETCONE, i, NULL);)。发出信号后,父母等待所有孩子完成他们的任务。

我很了解处理函数,但我不清楚以下几点:

  1. 我需要execl在处理程序函数中插入我的内容吗?

  2. 从上一个问题的答案中,我不明白最后一个循环的重要性:

    /li>

这是我的代码:

0 投票
0 回答
218 浏览

linux - 使用 fork() 并行运行程序

我正在尝试使用 fork() 和 execl 命令完成有关在 C 中运行并行程序的教程。

用户输入输入的数量(N)。接下来的 N 行包含一个 <= 10 位的数字。我的程序将计算每个数字的素数。

我正在尝试使用 fork 和 execl 并行执行行。

并行.c

质数分解.c

我希望能够为每个 forked() 进程打印输入到素因子分解程序的数字以及它的素因子的数量。例如,如果我输入

输出是

质因数是正确的,只是它与输入的数字不对应。我怎么能做到这一点?我试图在 for 循环中插入等待命令,但我认为这不会产生并行性。我理解为什么它会给我输出,但我想不出解决方案。

0 投票
3 回答
124 浏览

c - C语言中的execl

我有一个 C 程序。我注意到你不能在里面放 2 个 execl。

编码:

如果有办法绕过这个或者我犯了错误,有人可以帮助我吗???