问题标签 [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.
c - 变量作为 execl 函数中 winexe 命令的参数不起作用
我想通过 C 程序中的 execl 函数调用来执行 winexe 命令。如果我在 execl 调用中硬编码凭据和机器名称,它可以工作,如下所示
但是,如果我用变量替换主机名或凭据,它就不起作用。
输出:
上面的输出表明这是一个语法错误。但我在变量中使用了确切的字符串,包括 / 和 %。请注意,我正在从文件中读取上述变量。我已经使用 execl 函数将变量作为参数传递给其他命令,但我不知道为什么 winexe 不起作用!
请让我知道如何在 execl 函数调用中使用变量作为 winexe 参数。
c++ - Execl 怎么能返回但是 WIFEXITED 和 WEXITSTATUS 不表示错误?
我正在使用 execl 执行二进制文件。这一切正常,waitpid 返回一个正确的 pid,WIFEXITED(pidstatus) 给出 1,WEXITSTATUS(pidstatus) 给出 0。
现在我更改该二进制文件的权限以限制其访问。
二进制文件没有被执行并且 execl 现在返回,我相信它永远不应该(原因-1)。然而,waitpid 仍然返回一个正确的 pid,宏 WIFEXITED(pidstatus) 和 WEXITSTATUS(pidstatus) 没有改变。为什么它们仍然表明操作成功?
c - execl() 调用在 main() 中成功,在函数中失败
我是系统编程的初学者,我目前正在尝试使用套接字、管道等进行基本的服务器/客户端通信
更具体地说,我希望能够作为客户端连接并输入“/bin/echo hello”之类的内容。然后服务器会将字符串拆分为命令及其参数,并通过调用调用 execl() 的函数来运行命令。现在我只是在尝试传递用户输入之前测试 exec 调用。为什么以下失败,errno 设置为 EFAULT: bad address?
但是在 main() 中运行相同的代码运行得很好,输出为 'hello'
不能在函数中运行 exec() 系统调用吗?提前致谢。
c - 准确处理所有到达父进程的 SIGUSR1 类型的信号。C
我想编写一个程序,使用 fork() 函数创建 N 个孩子。每个孩子将等待 0 到 3 秒,然后它将向其父母发送一个信号 SIGUSR1。Parent 处理所有这些信号。
问题是我的程序并不总是处理来自它的孩子的所有信号。如何修复它?
第二个问题:我知道我不应该在处理程序中使用 printf ,因为可能会发生不好的事情。我怎样才能替换这个指令?
主程序
孩子.c
输出:
c - 使用 C 语言 (Linux) 在后台运行睡眠
我正在尝试sleep
使用 '&' 调用该函数以便在后台运行它。
C程序将取代linux的终端。
C 程序(Linux)中的命令行必须包含一个execl
命令,但它不起作用。
命令是:
路径是:“/bin/sleep”。
execl
如果我不写“&”,则运行正常,但如果我输入“&”,则输出为:
我应该怎么办?谢谢, 海姆
c - 在 C linux 中创建子进程
使用fork()
函数创建子进程。
父进程通过execl()
运行cat f1.c
命令的函数运行更改进程的内容。
子进程运行 traceroute www.google.com
命令。
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代码。
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);
)。发出信号后,父母等待所有孩子完成他们的任务。
我很了解处理函数,但我不清楚以下几点:
我需要
execl
在处理程序函数中插入我的内容吗?从上一个问题的答案中,我不明白最后一个循环的重要性:
/li>
这是我的代码:
linux - 使用 fork() 并行运行程序
我正在尝试使用 fork() 和 execl 命令完成有关在 C 中运行并行程序的教程。
用户输入输入的数量(N)。接下来的 N 行包含一个 <= 10 位的数字。我的程序将计算每个数字的素数。
我正在尝试使用 fork 和 execl 并行执行行。
并行.c
质数分解.c
我希望能够为每个 forked() 进程打印输入到素因子分解程序的数字以及它的素因子的数量。例如,如果我输入
输出是
质因数是正确的,只是它与输入的数字不对应。我怎么能做到这一点?我试图在 for 循环中插入等待命令,但我认为这不会产生并行性。我理解为什么它会给我输出,但我想不出解决方案。
c - C语言中的execl
我有一个 C 程序。我注意到你不能在里面放 2 个 execl。
编码:
如果有办法绕过这个或者我犯了错误,有人可以帮助我吗???