nodejs控制windows关机重启

2022-11-16 13:39:17 浏览数 (1)

最近写了一些脚本,

期望这些脚本在某些特定的时间去自动执行,(定时任务)

定时任务参考文章:nodejs定时任务

在任务执行完之后,除了退出程序以外,还想要自动关机。

于是找到了node可以直接关机和重启的方法。

其实不用node也可以直接

按下组合键“win R”,电脑会自动弹出来一个“运行”的对话框。

在对话框里面填写关机的时间,例如说“Shutdown -s -t 600”。温馨提醒,600代表的是10分钟,代表十分钟之后 自动关机 。

如果您想要在20分钟之后关机,则需要输入“Shutdown -s -t 1200”。我们应该根据设定时间的不同,填写不同的数字。

取消定时任务的话 可以通过 “shutdown -a”

但是这样其实没有办法自动检测我们的脚本任务啥时候结束,

需要写到node.js中 形成一个任务队列,这样就比较智能了。

下面是代码:

操作系统:w10

node版本:12.18.2

关机

代码语言:javascript复制
const { exec } = require('child_process');
function shutdownWindow() {
	let command = exec('shutdown -s -t 00', function(err, stdout, stderr) {
    if(err || stderr) {
      console.log("shutdown failed"   err   stderr);
    }
  });
  command.stdin.end();
  command.on('close', function(code) {
    console.log("shutdown", code);
  });
}

重启

代码语言:javascript复制
const { exec } = require('child_process');
function rebootWindow() {
	let command = exec('reboot', function(err, stdout, stderr) {
	  if(err || stderr) {
	    console.log("reboot failed"   err   stderr);
	  }
	});
	command.stdin.end();
	command.on('close', function(code) {
	  console.log("reboot", code);
	});
}

0 人点赞