Иерархия процессов для (ls)
такая же, как и для ls
, т.е. → bash → ls
, но если вы поместите список команд в круглые скобки :(ls; ls)
, тогда bash запускает подоболочку и запускает команды в ней. подоболочка. Результирующая иерархия процессов выглядит следующим образом:→ bash → bash → ls
(два процесса ls запускаются последовательно ).
Вы можете визуализировать это, используя cat без аргументов вместо ls:(cat; cat)
. Первый процесс cat ожидает ввода, что дает вам возможность увидеть, что происходит, используя pstree
или top
в другом терминале.