Для работы браузера Brave в Debian 10 требуется пространство имен непривилегированного пользователя?

bash( и другая оболочка )запускают сценарии без управления заданиями, поэтому ^C уничтожит весь сценарий, а не только sleep(, потому что они оба являются частью одной и той же группы процессов переднего плана ).

Вы должны включить управление заданиями в этом скрипте с помощьюset -m:

$ bash -c 'set -m; sleep 5; echo test'
^Ctest
$

Или поймать сигнал SIGINTв скрипте:

$ bash -c 'trap : SIGINT; sleep 5; echo test'
^Ctest
$

Обратите внимание на :вместо ''; если вместо этого вы проигнорируете SIGINT, его дочерние процессы унаследуют это расположение и тоже будут его игнорировать.

I'm guessing the the SIGINT is going to the bash process instead of the inner command?

Это будет для них обоих --символ VINTR(^Cпо умолчанию )отправит сигнал SIGINTвсем процессам из группы процессов переднего плана ().

0
11.06.2020, 13:49
0 ответов

Теги

Похожие вопросы