问题标签 [child-process]
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.
java - Java,等待子进程退出
使用 Java,ProcessBuilder
我正在创建一组子进程。我可以使用waitFor()
结果Process
对象中的方法来等待那个特定的孩子退出。
是否可以以 UNIX系统调用的方式阻塞直到任何子退出?wait()
python - 使用 Python 通过 stderr 和 stdout 处理来自子进程的消息
我的 python 代码生成子进程,并打印出 stdout 和 stderr 消息。我需要以不同的方式打印它们。
我有以下代码来生成子进程并从中获取标准输出结果。
如何修改代码以检查子进程是否也通过 stderr 打印出消息?
添加
一旦子进程打印出一些东西,我就需要打印出 stderr 和 stdout。它是跨平台实现,所以它应该在 Mac/Linux/PC 上运行。
python - 带有子进程的 PyUnit
在一些 Python 代码中,我fork
在子进程中做一些处理,而父进程等待它退出。它没有exec
在fork
.
我在 PyUnit 中测试此代码时遇到问题,因为当子进程以 显式退出时sys.exit
,它会创建一个 PyUnit 错误。
下面的代码产生了问题
这是错误
如果子进程显式退出,是否有某种方法可以避免 PyUnit 测试失败?
perl - 从旧的脚本运行中跟踪孩子
我有一个产生一些孩子的 Perl 脚本。它们都需要相当长的时间来运行,一路上创建目录和文件。我经常注意到我想在孩子们死于自然原因之前改变的事情,所以我必须关闭所有东西(这涉及到一些grep
和kill
调用)并删除孩子们创建的任何文件。没什么大不了的,就是脖子有点疼。我想创建一个所有孩子都受到监控的设置,所以当我再次启动父母时,会报告仍在运行的老孩子。
到目前为止,我最好的想法是保留一个我用他们的 PID 运行的孩子的日志文件,检查它并在父脚本的开头更新它。杀死并报告任何仍在运行的孩子,并在重新运行之前让用户手动清理目录和文件。
所以我的问题是:我该如何将孩子添加到日志文件中?有没有办法设置一个可以自动处理它的触发器,或者我是否不得不记住在代码中新进程开始的任何地方执行它?
ps 我当然愿意接受更好的方法来实现这一点的建议!
javascript - 在 Node.js 上使用 SSH
我试图在 node.js 中运行一个 ssh 子进程并通过我的程序控制它。我的代码:
我可以在控制台中输入密码,但在那之后我不能做任何事情。我得到以下控制台输出:
有人知道我怎样才能让它工作吗?
谢谢!
unix - 将子进程的 stdout 和 stderr 重定向到两个命名管道(然后从它们读取)
我正在开发一个 popen() 另一个进程的应用程序,其输出 - stderr 和 stderr - 需要重定向到两个命名管道,这两个命名管道也是由应用程序创建的。然后我需要从管道中读回数据。
不起作用:当我尝试从error.fifo读取时,应用程序挂起。sleep()
ing / wait()
ing 在 and 之间mkfifo()
也popen()
不起作用。
确实有效。
也有效。
从外壳也可以(但不是从我的应用程序)。
我找不到一种直接(或任何)方法来从两个工作的管道中读取数据。怎样才能做到这一点?
bash - 无法在后台 shell 中捕获 SIGINT 信号
在子/后台进程中运行时,我无法捕获信号。
这是我的简单 bash 脚本:
当运行这个和以后做
一切都按预期工作,它打印trapped
并退出。
现在,如果我从这样的父脚本启动相同的脚本:
然后孩子不再捕获信号......?
更改为使用 SIGTERM 而不是 SIGINT 后,它似乎工作正常......?
debugging - 调试子进程 - GDB/DDD
我的项目是通过以 & 结尾的 arglist 来实现一个简单的后台处理 shell 程序,就像在大多数 UNIX shell 中一样。我的问题是当后台处理需要创建子进程时如何在 GDB 中调试 shell。
我的孩子处理代码就像
当我尝试运行命令(如 ps &)并将断点设置为函数解析器时,该命令执行时不会遇到断点。这很令人困惑,并且在这种情况下会使调试器无用。我能做些什么呢?
c++ - 检查 POSIX 中退出的子进程?
我正在尝试编写一个程序来检查退出的子进程并在它们退出时重新启动它们。它需要在进程退出时重新启动它们,而无需等待任何其他进程退出。我有点失落。这是我到目前为止所做的代码。它没有完成或正确,真的。但也许有人可以指出我正确的方向?
c - 在C中重定向子进程的输入和输出
我想编写 ac 程序,在其中创建多个子进程并将它们的输入和输出重定向到不同的文件描述符。我搜索了很多但找不到相关结果。请帮忙 。