Skip to main content

wrap_process_v9

Macro wrap_process_v9 

Source
macro_rules! wrap_process_v9 {
    ($cmd:expr) => { ... };
}
Expand description

为 process-wrap 9.x 的 CommandWrap 应用平台特定的包装

此宏会根据目标平台自动应用正确的进程包装:

  • Windows: CreationFlags(CREATE_NO_WINDOW | CREATE_NEW_PROCESS_GROUP) + JobObject
  • Unix: ProcessGroup::leader()

§Arguments

  • $cmd - 可变的 CommandWrap 实例

§Example

use process_wrap::tokio::{CommandWrap, KillOnDrop};
use mcp_common::process_compat::wrap_process_v9;

let mut wrapped_cmd = CommandWrap::with_new("node", |cmd| {
    cmd.arg("server.js");
});
wrap_process_v9!(wrapped_cmd);
wrapped_cmd.wrap(KillOnDrop);