MacOS 请求 Node 父进程而不是子进程的权限

Doo*_*mel 6 javascript macos node.js

使用child_process模块,我尝试生成应该请求权限的进程,但 MacOS 请求父进程而不是生成的子进程的权限。

例如,当我在终端中运行下面的代码时,MacOS 将请求“Terminal.app”而不是子进程的权限。exec/execFile 函数也会发生同样的情况。

现实生活中的示例是从 Google Chrome 中删除麦克风权限,在终端中运行下面的代码并转到 google meet。MacOS 将请求 Terminal.app 的麦克风权限,而不是 Google Chrome。

是否可以使用 child_process 模块并使 MacOS 请求子进程的权限?

const { spawn } = require("child_process");
const APP_PATH = '/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome';
spawn(APP_PATH, [], {
  detached: true,
  stdio: "ignore",
}).unref();
Run Code Online (Sandbox Code Playgroud)

sin*_*dam 0

我相信你的答案就在这里;

https://dzone.com/articles/understanding-execfile-spawn-exec-and-fork-in-node

除了 之外,您还有其他选择execFile,例如exec, 。forkspawn

Fork 应该在没有任何附件的情况下运行。