为什么当我终止调用该脚本的脚本/终端时,我从 shell 脚本执行的进程会终止
答案1
每个进程都必须有一个父进程(至少用于收集退出状态)。请参阅man 2 wait
。如果父进程死亡,则会向其子进程发送信号SIGHUP
(请参阅man 7 signal
)。SIGHUP
是一个可捕获的信号,但如果子进程未捕获该信号,则默认操作是终止子进程。
看看man nohup
是否能继续下去。
答案2
到执行后台作业并保持其运行终端关闭后使用:
nohup command &>/dev/null &