是否可以在以 sudo 启动的 Nodjs 中 运行 没有 sudo 的 bash 脚本?

Is it possible to run a bash script without sudo within a Nodjs that is started with sudo?

可以

 sudo node app.js

spawn/fork一个

 ./myScript.sh

只使用默认用户而不是 sudo?

脚本 运行 是一个应用程序,它不能是来自 sudo 的 运行(因为 CUDA 找不到脚本调用的应用程序的 libnvrtc.so.10.0),而是 Nodejs应用程序必须使用 sudo,因为它需要端口 80。

是的,您可以将 uid 传递给 运行 作为命令。参见 docs of child_process.exec or child_process.spawn

示例:

child_process.exec('myScript.sh', {uid: 100})
// Or with .spawn()
child_process.spawn('myScript.sh', [], {uid: 100})