js 实现关机
在JavaScript中实现关机功能通常需要结合操作系统级别的权限或后端服务,因为浏览器环境下的JavaScript出于安全限制无法直接操作系统电源。以下是几种可能的实现思路:
使用Node.js实现关机
通过Node.js的child_process模块调用系统命令实现关机:
const { exec } = require('child_process');
// Windows系统
exec('shutdown /s /t 0', (error) => {
if (error) console.error(`执行错误: ${error}`);
});
// Linux/Mac系统
exec('shutdown now', (error) => {
if (error) console.error(`执行错误: ${error}`);
});
浏览器环境下的替代方案
在纯浏览器环境中,可通过WebSocket或HTTP请求通知后端服务执行关机:

// 前端发送关机请求
fetch('/api/shutdown', {
method: 'POST',
headers: { 'Content-Type': 'application/json' }
}).then(response => {
if (!response.ok) throw new Error('请求失败');
});
注意事项
- 系统命令执行需要管理员权限
- Windows系统需确保
shutdown.exe在系统路径中 - 生产环境应增加权限验证机制
- 浏览器方案需配套后端接口实现
安全建议
- 对关机操作添加二次确认
- 记录操作日志
- 限制可触发关机的IP或用户
- 考虑使用更安全的RPC机制替代直接系统调用
以上方案需根据具体运行环境和安全要求进行调整。浏览器纯前端方案无法独立实现关机功能,必须依赖后端服务配合。






