Node.js | process.setgroups() Method

The process.setgroups() method is an inbuilt application programming interface of the process module which is used to set the supplementary group IDs.

Syntax:

process.setgroups( groups )

Parameters: This method accepts a single parameter as mentioned above and described below.

  • groups: This is a required parameter, an array of strings or integers or both denotes group ID or group name or both.

Return: It doesn’t return anything. For setting group Ids the Node.js process needs root permission as it is a privileged operation.

Note: This function will only work on POSIX platforms. Not available on windows or android platform so will cause to an error i.e. TypeError, setgroups is not a function.



Below examples illustrate the use of process.setgroups() method in Node.js:

Example 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Allocating process module
const process = require('process');
  
// Printing the supplementary group
// IDs before setting.
console.log(process.getgroups());
  
// Array of Group Ids
var arr=new Array(300, 400, 2000);
  
// Setting the supplementary group IDs.
process.setgroups(arr);
  
// Printing the supplementary group IDs.
console.log(process.getgroups());

chevron_right


Output:

[ 0 ]
[ 300, 400, 2000, 0 ]

Example 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Allocating process module
const process = require('process');
  
if (process.setgroups) {
    var arr=new Array(300, 400, 2000);
  
    // Setting the supplementary group IDs.
    process.setgroups(arr);
}
  
// Checking whether the method exists or not
if (process.getgroups) {
  
    // Printing getgroups()
  console.log("The supplementary group IDs :",
           process.getgroups());
}

chevron_right


Output:

The supplementary group IDs : [ 300, 400, 2000, 0 ]

Note: The above program will compile and run by using the node filename.js command, only in POSIX platforms.

Reference: https://nodejs.org/api/process.html#process_process_setgroups_groups




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.