终止 Bash 进程是否会影响子进程

终止 Bash 进程是否会影响子进程

场景

我正在通过bash脚本自动执行备份。该脚本通过 执行cron。该脚本使用 递归存档目录tar,然后rsync将它们发送到远程主机。以下是示例:

...
for PATH in $DIRS
do
    ...
    tar -cpvzf $FFILE $PATH --exclude-from /tmp/excludes
    ...
    rsync -az --partial --rsync-path="sudo rsync" $FFILE mybackupserver:$REMOTEFILES
    ...
done
...

每次调用tar或时rsync,显然都会为每个进程产生一个新进程(因此产生 PID)。

我的问题

如果我终止启动该进程脚本那么子进程tarrsync进程也会被立即杀死吗?还是它们会一直运行直到完成,此后不会再生成其他进程?

我不愿意中途打断tar或中断进程。rsync

谢谢。

答案1

它们将成为孤儿进程,成为脚本父进程的子进程。通常它们将成为 init 的后代。

相关内容