Implemented shutdown through UI and implemented router check
This commit is contained in:
33
src/Shutdown.ts
Normal file
33
src/Shutdown.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
import { exec } from 'child_process';
|
||||
|
||||
export function shutdown(): Promise<{ succeed: boolean; message?: string }> {
|
||||
if (process.platform === 'win32') {
|
||||
return shutdownWindows();
|
||||
}
|
||||
|
||||
return Promise.resolve({
|
||||
succeed: false,
|
||||
message: 'Platform not supported',
|
||||
});
|
||||
}
|
||||
|
||||
function shutdownWindows(): Promise<{ succeed: boolean; message?: string }> {
|
||||
return new Promise<{ succeed: boolean; message?: string }>(
|
||||
(resolve, reject) => {
|
||||
exec('shutdown /s /t 5', (error, stdout, stderr) => {
|
||||
if (error) {
|
||||
console.error(
|
||||
`Error shutting down Windows: ${error.message}`
|
||||
);
|
||||
return resolve({ succeed: false, message: error.message });
|
||||
}
|
||||
if (stderr) {
|
||||
console.error(`Error shutting down Windows: ${stderr}`);
|
||||
return resolve({ succeed: false, message: stderr });
|
||||
}
|
||||
console.log(`Windows shutdown command executed: ${stdout}`);
|
||||
resolve({ succeed: true });
|
||||
});
|
||||
}
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user