问题标签 [execv]

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 回答
366 浏览

winapi - 使用 _execv() 调用子进程时 Windows 服务退出

我有一个设计为 Windows 服务的 C++ Windows 应用程序。它定期执行更新程序以查看是否有新版本。要执行更新程序,_execv()使用。更新程序查找新版本,下载它们并停止 Windows 服务(所有这些操作都会记录下来),替换文件,然后再次启动服务。在 CLI 模式下(不进入服务模式)这样做可以正常工作。根据我的日志文件,子进程已启动,但父进程(Windows 服务)退出。

甚至“允许”在 Windows 服务中启动子进程,为什么服务会意外退出?我的日志文件没有显示错误(我什至正在监视写入日志的段错误等)。

0 投票
2 回答
94 浏览

fork - 有没有办法在 UNIX 中临时禁用 fd 2?

我编写了一个应用程序,它使用 fork 和 execv 来启动另一个进程。我制作了一个用于通知状态的管道,并从已启动进程的主条目中写入一些字节以通知它已正确启动。否则,read 返回 0,因为写入管道已在分叉进程中关闭。

唯一的麻烦是当进程没有启动(没有库)时,我在 stderr 中收到一条关于此的消息。消息被写入 shell 出了什么问题。我宁愿安静地做。但是,如果我在 execv 之前执行 close(2) ,我就没有我想要的消息。我仍然想保持 fd 2 对 stderr 开放。

0 投票
4 回答
9850 浏览

c - C execv() 函数是否终止子进程?

这是我的代码的细分。

我有一个程序可以分叉一个孩子(并在文件中注册孩子的 pid),然后做自己的事情。孩子成为程序员用 argv 有尊严的任何程序。当子进程完成执行时,它会向父进程发送一个信号(使用 SIGUSR1),以便父进程知道从文件中删除子进程。父级应该停止一秒钟,通过更新其表来确认已删除的条目,然后从中断处继续。

问题是 after execv 成功启动并完成(返回 0 之前的 printf 语句让我知道),我没有看到正在执行的 switch 语句中的其余命令。我想知道 execv 中是否有一个 ^C 命令,它在完成时会杀死孩子,因此永远不会完成其余的命令。我查看了手册页,但没有发现任何关于该主题的有用信息。

谢谢!

0 投票
3 回答
929 浏览

c++ - 如何在 C++ 中查询子进程

我的 c++ 程序将使用 fork() 和 execv() 生成几个子进程。如何查询这些进程?如果我想关闭一个,我会怎么做?

0 投票
3 回答
4268 浏览

c++ - 如何将在后台运行的子进程带到前台

如果我使用 fork() 和 execv() 来生成多个在后台运行的子进程,并且我想将其中一个带到前台,我该怎么做?

我正在尝试编写一个可以在前台或后台启动进程的 shell。

0 投票
4 回答
1297 浏览

c++ - execv 会在前台还是后台运行它?

我的程序中有这个:

我不确定该命令是否实际上被正确执行。我怎样才能知道?这是在后台运行吗?

0 投票
5 回答
4014 浏览

c++ - 如何使用 fork 和 execv 获取程序的 pid

在这个程序中,我使用 execv 启动另一个进程。

如何获取已启动程序的 pid?

0 投票
2 回答
1021 浏览

process - execv 是否会像这样替换当前进程?

如果在我的代码中,我要调用 execv,然后在调用 execv 之后有几行代码,这些行会被执行,还是不会被执行,因为 execv 启动的任何内容都会替换当前进程?

0 投票
1 回答
687 浏览

c++ - 为什么 OSX 活动监视器不显示我启动的进程?

我正在使用 fork 和 execv 来启动子进程。如果我运行 htop 那么我可以找到这些进程。但是,OSX 活动监视器不会显示它们,即使我将其设置为显示所有进程。这是为什么?

htop 中的 S 列显示了我所有进程的 Z。这意味着什么?这可能与它有关吗?

0 投票
2 回答
2526 浏览

c++ - 如何从子进程读取返回码

我使用 fork 和 execv 来执行子进程。在父程序中,我有这个:

那会等待子进程终止然后显示它的返回码吗?