当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R children 用于管理分叉进程的低级函数


R语言 children 位于 parallel 包(package)。

说明

这些是分叉方法的低级支持函数。

它们在 Windows 上不可用,并且不会从命名空间导出。

用法

children(select)
readChild(child)
readChildren(timeout = 0)
selectChildren(children = NULL, timeout = 0)
sendChildStdin(child, what)
sendMaster(what, raw.asis = TRUE)

mckill(process, signal = 2L)

参数

select

如果省略,则返回所有活动子进程,否则 select 应该是进程列表,并且仅返回列表中的活动子进程。

child

子进程("childProcess" 类的对象)或进程 ID (pid)。另请参阅“详细信息”。

timeout

放弃之前等待响应的超时(以秒为单位,支持分数)。

children

子进程列表或单个子进程对象或进程 ID 向量或 NULL 。如果 NULL 的行为就像提供了所有当前已知的子项一样。

what

为了sendChildStdin
字符或原始向量。在前一种情况下,元素使用换行符折叠。 (但最后不会添加尾随换行符!)

为了sendMaster
发送到主进程的数据。如果what不是原始向量,它将被序列化为原始向量。不要发送空的原始向量 - 该向量保留供内部使用。

raw.asis

逻辑上,如果 TRUEwhat 是原始向量,那么它会直接按原样发送到主站(默认,适合任意负载传递),否则原始向量在发送之前会像任何其他对象一样被序列化(适合通过评估结果)。

process

进程(process 类的对象)或进程 ID (pid)

signal

整数:要发送的信号。值 2 (SIGINT)、9 (SIGKILL) 和 15 (SIGTERM) 非常可移植,但为了获得最大的可移植性,请使用 tools::SIGTERM 等。

细节

children 返回当前活动的子级。

readChild 从给定的子进程读取数据(由 sendMaster 发送)。

selectChildren 检查子级是否有可用数据。

readChildren 检查所有子级是否有可用数据,并从第一个具有可用数据的子级读取。

sendChildStdin 将字符串(或数据)发送到一个或多个子级的标准输入。请注意,如果主会话是交互式的,它也会在主进程的标准输出上回显(除非禁用)。该函数是vector-compatible,因此您可以将child指定为进程ID的列表或向量。

sendMaster 将数据从子进程发送到主进程。

mckill 向子进程发送信号:相当于 tools 包中的 pskill

children 返回类 "process" 的对象列表(可能为空),即进程 ID。

如果数据可用,readChildreadChildren 返回带有 "pid" 属性的原始向量;如果子进程终止,则返回长度为 1 且带有进程 ID 的整数向量;如果子进程不再存在,则返回 NULL(此时没有子进程)全部用于readChildren)。

如果达到超时,则 selectChildren 返回 TRUE;如果发生错误(例如,如果主进程被中断),则返回 FALSE 或具有可用数据的子进程的进程 ID 的整数向量;如果存在,则返回 NULL没有孩子。

sendChildStdin 返回 TRUE 值的向量(child 的每个成员一个)或引发错误。

sendMaster 返回TRUE 或引发错误。

mckill 返回 TRUE

警告

这是一个非常低级的接口,仅供专家使用:它不被视为RAPI 如有更改,恕不另行通知。

sendMaster,readChildsendChildStdin之前不支持长向量R3.4.0 等仅限于 字节(并且仍然在 32 位平台上)。

例子

## Not run: 
p  <- mcparallel(scan(n = 1, quiet = TRUE))
sendChildStdin(p, "17.4\n")
mccollect(p)[[1]]

## End(Not run)

作者

Simon Urbanek and R Core.

Derived from the multicore package formerly on CRAN.

也可以看看

mcfork , sendMaster , mcparallel

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Low-level Functions for Management of Forked Processes。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。