Последние новости:

Поиск по сайту:

Все ясно ревности — а доказательств нет! (М.Ю. Лермонтов).

Многозадачность в Linux с помощью командной строки

25.10.2018

Один из самых раздражающих моментов при переходе от среды на базе Windows к использованию командной строки — потеря легкой многозадачности. Даже в Linux, если вы используете X Window system, вы можете использовать мышь, чтобы просто нажать на новую программу и открыть ее. В командной строке, однако, вы в значительной степени застряли с монозадачеостью. В этой статье мы покажем вам как перейти к многозадачности в Linux с помощью командной строки.

Фоновое и приоритетное управление процессами

Тем не менее, в Linux все еще есть способы многозадачности, и некоторые из них являются более всеобъемлющими, чем другие. Один встроенный способ, который не требует какого-либо дополнительного программного обеспечения, — это просто перемещение процессов в фоновом режиме и на переднем плане. Мы написали статью об этом. Однако она имеет некоторые недостатки.

Незащищенный

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

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

В-третьих, вы должны следить за выводами из фоновых процессов. Любой вывод из них появится в командной строке и будет мешать тому, что вы делаете в текущий момент. Таким образом, фоновые задачи должны либо перенаправить свой вывод в отдельный файл, либо их нужно полностью отключить.

Из-за этих недостатков возникают огромные проблемы с управлением процессом фона и переднего плана. Лучшее решение — использовать утилиту командной строки «screen», как показано ниже.

Но сначала — вы откроете новый сеанс SSH

Не забывайте, что вы просто открываете новый сеанс SSH.

Это может быть неудобно, чтобы открыть новые сессии все время. И именно тогда вам нужен “screen”

Утилита screen позволяет создавать несколько рабочих процессов, открытых в то же время – ближайший аналог “windows”. По умолчанию он доступен в обычных репозиториях Linux. Установите его в CentOS/RHEL с помощью следующей команды:

sudo yum install screen
Многозадачность в Linux с помощью командной строки

Открытие нового экрана

Теперь начните сеанс, набрав «screen».

Это создаст пустое окно в рамках существующего сеанса SSH и даст ему номер, который показан в заголовке, как это:

Многозадачность в Linux с помощью командной строки

 

Наш экран здесь имеет номер «0», как показано. На этом скриншоте мы используем фиктивную команду” read», чтобы заблокировать терминал и заставить его ждать ввода. Теперь скажем, мы хотим сделать что-то еще, пока мы ждем.

Чтобы открыть новый экран и сделать что-то другое, мы печатаем:

ctrl+a c

 

«ctrl+a» является комбинацией клавиш по умолчанию для управления экранами в программе экрана. То, что вы вводите после него, определяет действие. Так например:

  • ctrl+a c — C активирует новый экран
  • ctrl+a [число] — переход к определенному номеру экрана
  • ctrl+a k — K отключает текущий экран
  • ctrl+a n — Переход к экрану n
  • ctrl+a «- отображает все активные экраны в сеансе

Если мы нажмем «ctrl+a c», мы получим новый экран с новым номером.

Вы можете использовать клавиши курсора для навигации по списку и перейти к экрану, который вы хотите.
Экраны — это самое близкое, что вы получите к «windows», как система в командной строке Linux. Конечно, это не так просто, как щелчок мышью, но графическая подсистема очень ресурсоемкая. С экранами, вы можете получить почти такую же функциональность и включить полную многозадачность!

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Поделиться в соц. сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Читайте также

Статьи партнеров:

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить

Спасибо! Ваша заявка принята

close

Спасибо! Ваша заявка принята

close