在新的會話中運行程序
setsid命令 子進程從父進程繼承了:SessionID、進程組ID和打開的終端。子進程如果要脫離這些,代碼中可通過調用setsid來實現。,而命令行或腳本中可以通過使用命令setsid來運行程序實現。setsid幫助一個進程脫離從父進程繼承而來的已打開的終端、隸屬進程組和隸屬的會話。
setsid[options] <program> [arguments ...]
-c, --ctty 將控制終端設置為當前控制終端
-f, --fork 總是 fork
-w, --wait 等待程序退出,并使用相同的返回
可見 setsid 的使用也是非常方便的,也只需在要處理的命令前加上 setsid 即可
[root@root ~]# setsid ping www.ibm.com
[root@root ~]# ps -ef |grep www.ibm.com
root 31094 1 0 07:28 ? 00:00:00 ping www.ibm.com
root 31102 29217 0 07:29 pts/4 00:00:00 grep www.ibm.com
[root@root ~]#