В целях тестирования у меня есть эта оболочка script
#!/bin/bash
echo $$
find / >/dev/null 2>&1
Запустив это из интерактивного терминала, ctrl + c завершит bash и команду find.
$ ./test-k.sh
13227
<Ctrl+C>
$ ps -ef |grep find
$
Запустив его в фоновом режиме, и убить оболочку будет только сиротом команд, запущенных в script.
$ ./test-k.sh &
[1] 13231
13231
$ kill 13231
$ ps -ef |grep find
nos 13232 1 3 17:09 pts/5 00:00:00 find /
$
Я хочу, чтобы эта оболочка script завершала все свои дочерние процессы, когда она выходила, независимо от того, как она вызвана. В конце концов, это будет запущено из приложения python и java, и при выходе script необходимо выполнить какую-либо очистку - какие-либо параметры, которые я должен изучить, или каким-либо образом переписать script, чтобы очистить себя при выходе?