问题标签 [spawn]

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

python - 使用 Python 通过 stderr 和 stdout 处理来自子进程的消息

我的 python 代码生成子进程,并打印出 stdout 和 stderr 消息。我需要以不同的方式打印它们。

我有以下代码来生成子进程并从中获取标准输出结果。

如何修改代码以检查子进程是否也通过 stderr 打印出消息?

添加

一旦子进程打印出一些东西,我就需要打印出 stderr 和 stdout。它是跨平台实现,所以它应该在 Mac/Linux/PC 上运行。

0 投票
2 回答
741 浏览

php - php分叉问题

我有以下测试 php 来执行 fork/spawn 过程,其中测试还尝试在完成后杀死子进程(僵尸)..

我希望有一个更高效的流程,其中任何子流程都会尽快从流程表中删除。当前尝试填满进程表,并导致关闭系统的内存分配问题。该应用程序在 Fedora/Centos 系统上运行。

当它运行时我遇到了内存分配错误,并且在它们被删除之前产生了太多的进程。

在此感谢任何指针将不胜感激..

更新::: 设法得到我认为的解决方案.....

0 投票
1 回答
1608 浏览

mpi - MPI_Comm_spawn 在 MSMPI 上失败

我正在尝试使用 MPI_Comm_spawn 来启动第二个进程。只是为了演示。该程序非常简单:

child.exe在编译程序的同一目录下,也非常简单:

父进程失败并出现严重错误:C:\Users.....\Documents\Visual Studio 2010\Projects\mpi\x64\Release>mpi.exe 我是进程 0,我们是 1

作业中止:[ranks] 消息

[0] 致命错误 MPI_Comm_spawn 中的致命错误:其他 MPI 错误,错误堆栈:MPI_Comm_spawn(106)............: MPI_Comm_spawn(cmd="child.exe", argv=0x0000000000 000000, maxprocs=2 , MPI_INFO_NULL, root=0, MPI_COMM_WORLD, intercomm=0x000000000 026FC20, errors=0x0000000000000000) 失败 MPID_Comm_spawn_multiple(314): 功能未实现

我做错了什么......看起来很简单...... MSMPI没有实现 MPI_Comm_spawn ?

0 投票
1 回答
9482 浏览

node.js - 在 node.js 中生成子进程时出错

我正在尝试启动并运行一些 ffmpeg 转换器服务,到目前为止取得了不错的进展。但是,当涉及到生成实际的 ffmpeg 转换过程时,我遇到了障碍。

执行此代码时,我得到以下控制台输出:

我已经检查了不同的节点版本(0.4.0、0.4.2 和 0.5.0-pre),但没有任何效果。

另一个非常奇怪的行为是我必须调用 spawn 包括一个空格('ffmpeg '而不仅仅是'ffmpeg')。如果我省略这个空格,我会得到一个不同的错误(stderr: "/path/to/my/movie.mpeg": no such file or directory)。当直接从 shell 调用 ffmpeg 时,发送到 child_process.spawn() 的命令执行没有任何问题。

关于那个有任何提示吗?我已经检查了其他实现相同的项目(如node-imagemagickffmpeg-node,但启蒙并没有击中我......

更新: strace() 输出

使用 运行我的应用程序时strace -fF -o strace.log node server.js,我可以 grep 以下进程生成调用:

在看到路径上奇怪地转义的双引号后,我尝试在没有引号的情况下调用 ffmpeg ......就像一个魅力。但问题仍然存在,我需要能够在路径中使用空格。

有什么建议么?

更新:解决方案

让它与空间一起工作,一个简单inputfile.replace(' ', '\ ')的就足够了。

0 投票
1 回答
1845 浏览

git - 无法在 github 上的特定分支上生成 git 没有这样的文件或目录

问题出在这个 fork/repo 上: https ://github.com/RubenWillems/CCNet

我可以在同一台笔记本电脑上安装其他叉子,但不是这个。尝试使用 ssh 会出现同样的问题。

我怀疑叉子的安全设置问题,但我不知道。

关于如何(开始)解决这个问题的任何想法,我对 git 还是很陌生。

0 投票
1 回答
308 浏览

c - 在 spawn() 之后使用 _exit() 或 exit()?

正如维基百科在此处所述:“进行生成调用时打开的文件在子进程中保持打开状态”。(非常类似于exec()

好的,操作系统已经打开了一些文件并为我们新出生的不知情的进程做好了准备。假设我们的进程不知道那些先前打开的文件并最终决定终止;而像 C 这样的编程语言需要在终止之前清理一些内部进程。

我的问题是,这种清理会以任何方式影响那些打开的文件吗?AFAIK 他们没有在任何地方注册,也没有在流程本身的任何地方注册。

答案应该以某种方式定义程序员在终止 spawn()ed 进程(甚至是 exec()ed 进程)时的行为。一个完整的清理程序会以任何方式伤害父母吗?(例如通过删除临时文件),因此程序员不应该使用_exit()而不是exit()吗?

0 投票
1 回答
9630 浏览

python - 如何生成一个单独的 python 进程?

我需要生成一个运行子脚本的单独 python 进程。

例如:

main.py 运行并将一些输出打印到控制台。然后它会生成 sub.py 来启动一个新进程。一旦 main.py 生成了 sub.py,它应该在 sub.py 继续运行时终止。

谢谢你。

编辑:

当我运行 main.py 时,它会打印 'main.py' 但没有其他内容,并且 sub.py 不会启动。

主文件

子.py

0 投票
5 回答
3358 浏览

linux - linux:启动时挂起进程

我想生成一个暂停的进程,可能是在另一个用户的上下文中(例如通过 sudo -u ...),为生成的进程设置一些 iptables 规则,继续运行该进程,并在该进程时删除 iptable 规则存在。

是否有任何标准方法(bash、corutils 等)可以让我实现上述目标?特别是,我怎样才能产生一个处于挂起状态的进程并获取它的 pid?

0 投票
1 回答
305 浏览

erlang - Erlang 启动 gen_server 阻塞代码

我的 erlang 代码中有 gen_server 。当我尝试运行它之后的下一个代码不起作用。例如:

现在 io:format/1 不起作用。如果我使用 spawn 运行 gen_server:

现在 io:format 工作了。为什么?

谢谢你。

0 投票
2 回答
850 浏览

java - 在 Maven 插件中设置 fork 和 spawn

我们正在将构建文件从 ant 转换为 maven 插件。我们正在尝试在 maven 插件中启动/停止数据库 (hsqldb)。

我们成功启动了数据库。但是我们认为插件在执行插件时会停止数据库。执行后数据库应继续运行,但似乎立即停止。

我们的猜测是我们应该使用 'fork' 和 'spawn' 属性(它们也在来自 ant 的 build.xml 中),但我们不知道如何在 DatabaseController 的 java 类中实现它们(其中扩展自 AbstractMojo)。

有任何想法吗?

我们正在使用 hsqldb,这是我们如何初始化它的代码:

当我们运行插件时,数据库启动,我们甚至设法创建表并向其写入数据。然后插件停止,服务器随之自动停止。

如果我们运行另一个插件,一个停止服务器,我们总是在这一行得到一个 nullPointerException:

亲切的问候,

杰伦