Linux详解

在新的会话中运行程序。

补充说明

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 ~]#

教程来源于Github,感谢大佬的无私奉献,致敬!

技术教程推荐

深入浅出云计算 -〔何恺铎〕

Service Mesh实战 -〔马若飞〕

性能优化高手课 -〔尉刚强〕

React Hooks 核心原理与实战 -〔王沛〕

人人都用得上的数字化思维课 -〔付晓岩〕

大型Android系统重构实战 -〔黄俊彬〕

AI大模型之美 -〔徐文浩〕

手把手带你搭建推荐系统 -〔黄鸿波〕

徐昊 · AI 时代的软件工程 -〔徐昊〕