1 | setsid
|
2 | ===
|
3 |
|
4 | 在新的会话中运行程序
|
5 |
|
6 | ## 补充说明
|
7 |
|
8 | **setsid命令** 子进程从父进程继承了:SessionID、进程组ID和打开的终端。子进程如果要脱离这些,代码中可通过调用setsid来实现。,而命令行或脚本中可以通过使用命令setsid来运行程序实现。setsid帮助一个进程脱离从父进程继承而来的已打开的终端、隶属进程组和隶属的会话。
|
9 |
|
10 | ### 语法
|
11 |
|
12 | ```shell
|
13 | setsid[options] <program> [arguments ...]
|
14 | ```
|
15 |
|
16 | ### 选项
|
17 |
|
18 | ```shell
|
19 | -c, --ctty 将控制终端设置为当前控制终端
|
20 | -f, --fork 总是 fork
|
21 | -w, --wait 等待程序退出,并使用相同的返回
|
22 | ```
|
23 |
|
24 |
|
25 | ### 实例
|
26 |
|
27 | 可见 setsid 的使用也是非常方便的,也只需在要处理的命令前加上 setsid 即可
|
28 |
|
29 | ```shell
|
30 | [root@root ~]# setsid ping www.ibm.com
|
31 | [root@root ~]# ps -ef |grep www.ibm.com
|
32 | root 31094 1 0 07:28 ? 00:00:00 ping www.ibm.com
|
33 | root 31102 29217 0 07:29 pts/4 00:00:00 grep www.ibm.com
|
34 | [root@root ~]#
|
35 | ```
|
36 |
|
37 |
|