Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我如何从electron的主进程获得根访问权并使用磁盘使用率(du)?_Javascript_Node.js_Macos_Unix_Electron - Fatal编程技术网

Javascript 我如何从electron的主进程获得根访问权并使用磁盘使用率(du)?

Javascript 我如何从electron的主进程获得根访问权并使用磁盘使用率(du)?,javascript,node.js,macos,unix,electron,Javascript,Node.js,Macos,Unix,Electron,我正在使用 我尝试使用ipcMain和NodeJS的exec从主进程运行以下命令 命令也按我希望的方式执行,但它会引发异常 Uncaught Exception: Error: Command failed: cd ~/Library/Caches && du -sh * du: DEDUCTED: Operation not permitted at /Users/0x1ad2/Projects/DEDUCTED/node_modules/sudo-prompt/in

我正在使用

我尝试使用ipcMain和NodeJS的exec从主进程运行以下命令

命令也按我希望的方式执行,但它会引发异常

Uncaught Exception:
Error: Command failed: cd ~/Library/Caches && du -sh *
du: DEDUCTED: Operation not permitted

    at /Users/0x1ad2/Projects/DEDUCTED/node_modules/sudo-prompt/index.js:390:27
    at FSReqCallback.readFileAfterClose [as oncomplete] (internal/fs/read_file_context.js:61:3)
我还尝试附加包,以便应用程序可以具有根访问权限

到目前为止运气不好

答复

cd中的问题。模块sudo提示符。只要试着像这个例子一样运行,或者像cd~/Library/Caches&&du-sh*&&cd${process.cwd}那样添加返回命令

`

这确实是cd,谢谢你指出这一点。但是,如果我让进程通过cd${process.cwd}返回,它仍然会抛出相同的异常。像ls、mkdr、cd和touch这样的命令可以工作。但每当我添加du时,事情就会中断。我指的是像cod一样的child_process.execcd~/Library/Caches&&du-sh*&&cd${process.cwd,error,stdout,stderr=>console.logstdout
Uncaught Exception:
Error: Command failed: cd ~/Library/Caches && du -sh *
du: DEDUCTED: Operation not permitted

    at /Users/0x1ad2/Projects/DEDUCTED/node_modules/sudo-prompt/index.js:390:27
    at FSReqCallback.readFileAfterClose [as oncomplete] (internal/fs/read_file_context.js:61:3)
    const exec = require("child_process").exec;
exec(
    `cd ~/Library/Caches && du -sh * && cd ${process.cwd()}`,
    (error, stdout, stderr) => {
        console.log(error);
        console.log(stdout);
        console.log(stderr);
    }
);
child_process.exec('push /etc\ndu -sh *\npopd', (error, stdout, stderr)=> console.log(stdout))