setsid命令子进程从父进程继承了:sessionid、进程组id和打开的终端。子进程如果要脱离这些,代码中可通过调用setsid来实现。
命令行或脚本中可以通过使用命令setsid来运行程序实现。setsid帮助一个进程脱离从父进程继承而来的已打开的终端、隶属进程组和隶属的会话。
语法格式:setsid [参数]
常用参数:
-c | 将控制终端设置为当前控制终端 |
-f | 总是 fork |
-w | 等待程序退出,并使用相同的返回 |
参考实例
在新的会话中运行程序及命令:
[root@linuxcool ~]# setsid ping www.linuxprobe.com [root@linuxcool ~]# ps -ef |grep www.linuxprobe.com root 31094 1 0 07:28 ? 00:00:00 ping www.linuxprobe.com root 31102 29217 0 07:29 pts/4 00:00:00 grep www.linuxprobe.com