Оболочка (работающая) - это процесс, но не все процессы являются оболочками.
Все запущенные приложения и демоны являются процессами. Единственное, что работает, но не является процессом, - это ядро (включая потоки ядра). Ядро, по крайней мере в Unix-подобных ОС, запускает один (или более) начальный процесс, созданный вручную, обычно называемый init
. Эти процессы являются родителями целой иерархии других процессов. Когда вы запустите команду ps
или top
, вы увидите каждый процесс со своим отдельным PID
.
Когда вы входите в эмулятор терминала, вы запускаете интерактивную оболочку, например sh
, dash
, ksh
, bash
, zsh
и тому подобное. Эти оболочки интерпретируют команды, которые вы вводите в окне терминала, например, ls
, cat
и date
. Последние являются не оболочками, а исполняемыми файлами.
Вы также можете запускать сценарии оболочки, которые представляют собой текстовые файлы, содержащие команды, которые должны выполняться оболочкой.
Поскольку не все программы являются сценариями оболочки или интерактивными сеансами оболочки, нельзя сказать, что оболочка является синонимом процесса.