我有一堆来自不同制造商的 Class 10 UHS-1 SDHC SD 卡。它们都分区如下
$ sudo fdisk -l /dev/sdj
Disk /dev/sdj: 14.9 GiB, 15931539456 bytes, 31116288 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0000de21
Device Boot Start End Sectors Size Id Type
/dev/sdj1 2048 1050623 1048576 512M c W95 FAT32 (LBA)
/dev/sdj2 1050624 2099199 1048576 512M 83 Linux
/dev/sdj3 2099200 3147775 1048576 512M …
Run Code Online (Sandbox Code Playgroud) 从 bash 中,我生成了两个进程。这两个过程相互依赖。如果其中一个死亡,我希望两者都退出。最干净的方法是什么?目前我有以下几点:
# start process a
/bin/program_a;
a_pid=$!
# start process b
/bin/program_b;
b_pid=$!
# kill process b if process a exits
wait $a_pid
echo "a_pid died, killing process b"
kill -9 $b_pid
Run Code Online (Sandbox Code Playgroud)
但这只会在进程 a 死亡时帮助进程 b 退出。如果进程 b 死亡,我如何也使进程 a 退出?