2. Управление терминалом

Когда вы просматриваете запущенные процессы, вы заметите поле TTY в выводе команды ps. Это поле важно, поскольку оно указывает на управляющий терминал, который выполнил команду. Понимание этой концепции является ключом к эффективному управлению процессами.

Что такое TTY

TTY — это аббревиатура от «Teletype» (телетайп), которое исторически было физическим устройством для взаимодействия с компьютером. В современных системах Linux TTY относится к терминалу, который предоставляет стандартный ввод и вывод для процесса.

Существует два основных типа терминалов, с которыми вы столкнетесь: терминальные устройства и псевдотерминальные устройства.

Терминальные устройства против Псевдотерминалов

Истинное терминальное устройство — это нативный консоль, который позволяет вводить команды и видеть вывод напрямую. Вы можете испытать это, переключившись на виртуальную консоль. Во многих системах вы можете нажать Ctrl-Alt-F1, чтобы получить доступ к TTY1. Вы увидите приглашение для входа в чисто текстовой среде, без графического интерфейса. Это классическое терминальное устройство. Чтобы вернуться к графической сессии, вы обычно можете использовать Ctrl-Alt-F7 (точная комбинация клавиш может отличаться).

Псевдотерминал (PTS), с другой стороны, — это то, что вы используете чаще всего. Когда вы открываете терминальное приложение в вашей графической среде рабочего стола, вы используете PTS. Они эмулируют терминал внутри окна. Если вы проверите вывод ps tty для вашей оболочки, вы увидите, что ее TTY указан как pts/*.

Роль управляющего терминала

Большинство процессов привязаны к управляющему терминалу. Это означает, что жизненный цикл процесса связан с терминальной сессией, которая его запустила. Например, если вы запускаете программу вроде find в окне терминала, а затем закрываете это окно, процесс find также будет завершен.

Процессы без управляющего терминала

Некоторые процессы, известные как демоны, предназначены для работы в фоновом режиме и управления системными службами. Эти процессы часто запускаются при загрузке системы и останавливаются только при ее выключении.

Чтобы предотвратить их случайное завершение, демоны не прикреплены к управляющему терминалу. Когда вы узнаете, как использовать ps для проверки этих процессов, вы увидите вопросительный знак (?) в столбце TTY. Этот ? означает, что процесс не имеет управляющего терминала и работает независимо от какой-либо пользовательской сессии.

Войдите, чтобы сохранить ваш прогресс обучения

Вход

Упражнения

Практика ведет к совершенству! Вот практическая лабораторная работа для закрепления вашего понимания процессов Linux и их взаимодействия с терминалами:

  1. Управление и мониторинг процессов Linux — В этой лаборатории вы изучите основные навыки управления и мониторинга процессов в системе Linux. Вы узнаете, как взаимодействовать с процессами на переднем и заднем планах, просматривать их с помощью ps, отслеживать ресурсы с помощью top, настраивать приоритет с помощью renice и завершать их с помощью kill.

Эта лаборатория поможет вам применить концепции управления процессами в реальных сценариях и укрепить уверенность в понимании того, как процессы работают и взаимодействуют с системой.

Тест

Какое значение присваивается процессу, у которого нет управляющего терминала?