目前有不少公司采用堡垒机登录服务器,因为网络、保密等问题堡垒机SSH登录界面打开较长时间后会被关闭,而此时在堡垒机SSH登录界面运行的脚本进程会被关闭掉(即terminal被关闭后进程被关闭了)。
为了保证耗时较长的脚本能够正常运行,此时我们可以使用setsid命令执行脚本。
setsid 命令在 Linux 系统中用于创建一个新的会话,并将指定的命令或程序放入这个新会话中运行。调用 setsid 的进程会成为新会话的会话领头进程,并且脱离任何之前的会话和进程组。新会话中的进程不再受终端信号(如挂起信号)的影响。这意味着即使终端关闭,通过 setsid 启动的进程也会继续运行。
案例:setsid bash your_script.sh
脚本your_script.sh会在新的会话中运行,不受源terminal影响,即使输入此命令的terminal,进程依旧能够运行。
Usage: setsid [options] Options: -c, --ctty set the controlling terminal to the current one -h, --help display this help and exit -V, --version output version information and exit |