Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个名为 run.sh 的 shell 脚本。在其中,我可以调用其他 shell 脚本,例如:
./run_1.sh ./run_2.sh .........
如果我通过./run.sh 调用脚本,我发现它实际上会使用不同的PID 依次调用脚本内的不同任务(即run_1.sh 将是一个任务,run_2.sh 将是另一个任务)。这使我无法使用一个“kill”命令杀死整个任务组,或者通过运行“./run.sh &”在后台运行整个任务组。那么有没有办法将脚本作为一个完整的任务来运行?
pkill可用于杀死进程的子进程,使用该-P选项。
pkill
-P
pkill -P $PID
其中 $PID 是父进程的 PID。
您可以source让run_1.sh命令在同一个 shell 中执行(这可能会导致副作用,因为现在所有脚本都将共享相同的范围)。
source
run_1.sh
source run_1.sh source run_2.sh