當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。