How to shutdown and reboot Linux with Node.js


To schedule the system to shutdown with a cronjob, or you just want to look cool and shutdown the computer with a script because you're creating an application in Electron Framework and you want to add the possibility to turn off the computer etc. Either with reboot or turn of the computer are tasks that can be achieved using the shutdown instruction in the command line. shutdown can be used to reboot or turn off the system at a given time, and can display a message to all the logged-in users of the system telling them that the system is going down.

The shutdown command needs to be executed someway, therefore we are going to use the exec function of the child_process module. This function spawns a shell, then executes the command on it and buffers any generated output, that in this case will be ignored as once the shutdown command is executed, there's no useful output to retrieve.

Use the followings scripts to reboot or shutdown linux easily:

Shutdown

To shutdown the computer from the command line in Linux you can simply use shutdown now, that's exactly what we are going to execute with the child_process:

// shutdown.js

// Require child_process
var exec = require('child_process').exec;

// Create shutdown function
function shutdown(callback){
    exec('shutdown now', function(error, stdout, stderr){ callback(stdout); });
}

// Reboot computer
shutdown(function(output){
    console.log(output);
});

Restart / Reboot

Create a script with the name reboot.js that will contain the following code:

// reboot.js

// Require child_process
var exec = require('child_process').exec;

// Create shutdown function
function shutdown(callback){
    exec('shutdown -r now', function(error, stdout, stderr){ callback(stdout); });
}

// Reboot computer
shutdown(function(output){
    console.log(output);
});

Finally, to restart the computer, execute the script:

node ./reboot.js

For more information about the shutdown command in Linux, refer to this article. You can even specify the time that defines when to perform the shutdown operation.

Happy coding !

Become a more social person