Как bash при запуске фоновой задачи в скрипте сохраняет свое имя?
ls -Ra / &
kill -s TSTP $!
read
Если в запустить как *.sh файл ниже записанный код в bash, а потом запустить top то вместо ls у нас будет отображаться процесс как bash.
Как это у него так получается и зачем?
$! = pid последнего процесса в фоновом режиме
Ну так kill убивает то ли ls, то ли вообще непонятно кого, но никак не bash - потому что bash здесь не фоновый процесс.