В чем точная разница между «подоболочкой» и «дочерним процессом»?

Попробуй, это тебе поможет. Откройте файл в редакторе vi:

$ vi /file/location  

:1,100 s/^/DMS/ --> Enter  
  • 1,100 именно из какой строки вы хотите начать и закончить.
  • s - это команда замены, а ^ - это стартовая строка.

Или вы можете сделать это, не открывая файл, используя GNU sed:

sed -i 's/^/DMS /' /your/file/location
16
21.11.2018, 21:40
1 ответ

Подоболочка

Дочерняя оболочка также называется подоболочкой. Подоболочка может быть создана из родительской оболочки и из другой оболочки. Подоболочка может быть создана с помощью:

1. Список процессов

Список процессов представляет собой группу команд, заключенную в круглые скобки. Пример:

( pwd ; (echo $BASH_SUBSHELL)) 

Будет напечатан текущий рабочий каталог и номер созданной оболочки. ПРИМЕЧАНИЕ. Вызов подоболочки требует больших затрат.

2. Сопроцесс

Он порождает подоболочку в фоновом режиме и выполняет команду в этой подоболочке.

coproc sleep 10

Если ввести jobsкоманду

[1]+  Running                 coproc COPROC sleep 10 &

вы увидите сон как фоновый процесс, работающий в фоновом режиме.

Разветвление дочернего процесса

Дочерний процесс в вычислениях — это процесс, созданный другим процессом. Всякий раз, когда выполняется внешняя команда, создается дочерний процесс. Это действие называется разветвлением.

$ps -f
UID        PID  PPID  C STIME TTY          TIME CMD  
umcr7     3647  3638  0 13:54 pts/0    00:00:00 bash
umcr7     3749  3647  0 13:59 pts/0    00:00:00 ps -f

Поскольку ps -fявляется внешней командой, (т.е.Внешняя команда, иногда называемая командой файловой системы, представляет собой программу, существующую вне оболочки bash. )это создаст дочерний процесс с родительским идентификатором оболочки bash, из которой он выполняется.

1
27.01.2020, 19:48

Теги

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