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 |
如果省略,则返回所有活动子进程,否则 |
child |
子进程( |
timeout |
放弃之前等待响应的超时(以秒为单位,支持分数)。 |
children |
子进程列表或单个子进程对象或进程 ID 向量或 |
what |
为了 为了 |
raw.asis |
逻辑上,如果 |
process |
进程( |
signal |
整数:要发送的信号。值 2 (SIGINT)、9 (SIGKILL) 和 15 (SIGTERM) 非常可移植,但为了获得最大的可移植性,请使用 |
细节
children
返回当前活动的子级。
readChild
从给定的子进程读取数据(由 sendMaster
发送)。
selectChildren
检查子级是否有可用数据。
readChildren
检查所有子级是否有可用数据,并从第一个具有可用数据的子级读取。
sendChildStdin
将字符串(或数据)发送到一个或多个子级的标准输入。请注意,如果主会话是交互式的,它也会在主进程的标准输出上回显(除非禁用)。该函数是vector-compatible,因此您可以将child
指定为进程ID的列表或向量。
sendMaster
将数据从子进程发送到主进程。
mckill
向子进程发送信号:相当于 tools
包中的 pskill
。
值
children
返回类 "process"
的对象列表(可能为空),即进程 ID。
如果数据可用,readChild
和 readChildren
返回带有 "pid"
属性的原始向量;如果子进程终止,则返回长度为 1 且带有进程 ID 的整数向量;如果子进程不再存在,则返回 NULL
(此时没有子进程)全部用于readChildren
)。
如果达到超时,则 selectChildren
返回 TRUE
;如果发生错误(例如,如果主进程被中断),则返回 FALSE
或具有可用数据的子进程的进程 ID 的整数向量;如果存在,则返回 NULL
没有孩子。
sendChildStdin
返回 TRUE
值的向量(child
的每个成员一个)或引发错误。
sendMaster
返回TRUE
或引发错误。
mckill
返回 TRUE
。
警告
这是一个非常低级的接口,仅供专家使用:它不被视为RAPI 如有更改,恕不另行通知。
sendMaster
,readChild
和sendChildStdin
之前不支持长向量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.
也可以看看
相关用法
- R clusterApply 使用集群应用操作
- R pvec 使用 Forking 并行化向量映射函数
- R makeCluster 创建并行套接字集群
- R RNGstreams Pierre L'Ecuyer 的 RngStreams 的实施
- R detectCores 检测CPU核心数
- R mcparallel 在单独的进程中异步计算 R 表达式
- R mcfork 分叉当前 R 进程的副本
- R mcaffinity 获取或设置当前进程的CPU亲和性掩码
- R mclapply 使用 Forking 的 lapply 和 mapply 并行版本
- R splitIndices 划分任务在集群中分布
- R SparkR partitionBy用法及代码示例
- R purrr accumulate 累积向量缩减的中间结果
- R purrr imap 将函数应用于向量的每个元素及其索引
- R purrr list_transpose 转置列表
- R purrr as_vector 将列表强制转换为向量
- R purrr map_if 有条件地将函数应用于向量的每个元素
- R purrr map2 映射两个输入
- R purrr map_depth 在给定深度映射/修改元素
- R SparkR printSchema用法及代码示例
- R purrr list_simplify 将列表简化为原子或 S3 向量
- R purrr rerun 多次重新运行表达式
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Low-level Functions for Management of Forked Processes。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。