setsid command in Linux system is used to run a program in a new session. The command will call the fork(2) if already a process group leader. Else, it will execute a program in the current process.
setsid [options] program [arguments]
Example: It will execute our shell script in a new session.
- setsid -c: This option will set the controlling terminal to the current one.
sudo setsid -c ./add.sh
In this example, we have our current terminal set to controlling terminal.
- setsid -w: This option will wait for the execution of the program to end and return the exit value of this program as the return value of setsid.
setsid -w ./add.sh
In this example, if there’s any process which is supposed to take some time to be fully executed then, in that case, it will return the exit value.
- setsid -V : This option will show the version information and exit.
- setsid -h : This option will show the help text and exit.