加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

我如何从nodejs重启linux

发布时间:2020-12-14 01:26:28 所属栏目:Linux 来源:网络整理
导读:我想从node.js脚本重启/关闭我的 linux操作系统.只有我能找到的东西是在脚本中停止快速服务器或运行功能的方法,而不是关闭/重启我的linux的方法. 有没有办法做到这一点? 解决方法 nodejs命令是: require('child_process').exec('sudo /sbin/shutdown -r no
我想从node.js脚本重启/关闭我的 linux操作系统.只有我能找到的东西是在脚本中停止快速服务器或运行功能的方法,而不是关闭/重启我的linux的方法.

有没有办法做到这一点?

解决方法

nodejs命令是:

require('child_process').exec('sudo /sbin/shutdown -r now',function (msg) { console.log(msg) });

要避免将nodejs作为su运行,您必须授予运行此命令的权限.通过在/etc/sudoers.d/目录下创建文件来授予权限,例如

$sudo /etc/sudoers.d/mysudoersfile

添加以下行并将以下代码段中的pi更改为用户nodejs将运行为:

pi ALL=/sbin/shutdown
pi ALL=NOPASSWD: /sbin/shutdown

该技术也可以应用于其他命令.例如,如果要允许用户(反过来nodejs)重新启动网络,请将以下内容添加到sudoers文件中.

pi ALL=/etc/init.d/networking
pi ALL=NOPASSWD: /etc/init.d/networking

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读