Как запускать команды Linux в фоновом режиме

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

Команды Linux для навигации в терминале

  1. &&. Строго говоря, это не команда. Если вы хотите выполнить сразу несколько команд, поставьте между ними двойной амперсанд вот так: первая_команда && вторая_команда. Терминал выполнит команды по порядку. Вы можете ввести столько команд, сколько захотите.
  2. alias. Присваивает созданные вами названия длинным командам, которые вы не можете запомнить. Введите alias длинная_команда короткая_команда.
  3. cd. Изменяет текущую терминальную папку. Когда вы запускаете терминал, он использует вашу домашнюю папку. Введите cd адрес_папки, и терминал будет работать с файлами, которые там находятся.
  4. clear. Очищает окно терминала от всех сообщений.
  5. history. Отображает все недавно введённые вами команды. Кроме того, вы можете переключаться между недавними командами с помощью клавиш «Вверх» и «Вниз». Если вы не хотите, чтобы введённая вами команда была записана, поставьте перед ней пробел так: ваша_команда.
  6. man. Отображает руководство по программам и командам Linux. Введите man имя_пакетаили man ваша_команда.
  7. whatis. Отображает краткое описание какой-либо программы. Введите команду и название программы whatis имя_пакета.
Команды Linux для навигации в терминале

Синтаксис команд

Перевести команду или скрипт в фоновый режим вы можете реализовать при помощи добавления символа «&» (данный оператор переводит команду в фоновый режим освобождая при этом место в терминале) в конец каждой строки. Команда, которая выполняется в фоновом режиме называется «задание». Стоит напомнить, что при выполнении заданий вы можете выполнять другие команды. Команды и общий синтаксис выглядят следующим образом:

command & script-name & /path/to/command arg1 arg2 & command-1 | command-2 arg1 & command-1 | command-2 -arg1 -arg2 >/path/to/output &

Основы screen

Screen в linux — это как «окна в Windows», которые можно свернуть/развернуть. Вы можете что то делать в одном окне, например смотреть фотографии. Но, если вам нужно кроме просмотра фотографий слушать музыку, то вы откроете новое окно (проводник), зайдёте в каталог с музыкой и отроете песню в аудио-программе.

Читайте также:  Как очистить содержимое файла в Linux при помощи командной строки.

Когда речь идёт о консоли линукс (особенно при работе по ssh ), то нам будет крайне не удобно в одной консоли выполнять различные приложения. А, может, и совсем не удастся выполнять вторую операцию в то время, когда первая ещё продолжает свою работу. Это первый момент. Второй момент заключается в том, что в случае какого-либо сбоя с вашей стороны (со стороны клиента) — текущая операция прервётся. Пара примеров, когда при работе с ssh может понадобиться screen :

  • если вы копируете или перемещаете большой объём файлов с одного каталога в другой
  • если вы выполняете тяжёлый sql-запрос
  • если нужно запустить приложение, которое «захватывает» консоль

Наверное, вам было бы очень грустно, когда из-за случайно-закрытого терминала или скачка напряжения прервался бы sql-запрос, который уже выполнялся более 10 часов. В случае же с screen, screen работает на сервере, инициатором запроса будет объект screen и запрос уже не оборвётся не при каких проблемах клиента. При обрыве связи процессы не останавливаются, а продолжают работать, и к ним можно вернуться в любой момент.

Что такое регламентные и фоновые задания в 1С

  • Регламентные задания — это специальный механизм 1С предприятия 8.3, предназначенный для выполнения определенного действия по заданному расписанию.
  • Фоновое задание — объекты, порождаемые регламентным заданием, которые непосредственно выполняет заложенное действие без участия пользователя или программиста 1С 8.2.

Механизм регламентных и фоновых заданий работает в клиент-серверном режиме работы (SQL), благодаря функционалу СУБД . Если у вас файловая БД, то задание тоже можно настроить, но немного по другому принципу.

Установка программ

Чтобы установить новую программу, в меню «Управление программами» (см. рис. 2) щелкаем на иконке «Установка и удаление программ«. Попадаем вот в  такой список:

Рис. 7 — Выбор категорий отображаемых пакетов

По умолчанию в программе установки включен фильтр. Она выводит в качестве результата поиска только программы с графическим интерфейсом. Зачастую же оказывается необходимым установить не только то, что имеет GUI. Именно поэтому я этот фильтр обычно выключаю. Для этого нужно (как показано на рис. 7) щелкнуть мышью на выпадающем списке в левом верхнем углу и вместо пункта «Пакеты с графическим интерфейсом» выбрать пункт «Все«. Теперь при запросе будут выводиться все возможные варианты.

Перед тем как перейти непосредственно к установке, небольшая ремарка. Если Вы где-то услышали (прочли) о программе, которую захотели установить, не спешите тут же скачивать ее. Вспомните тот факт, что в репозиториях дистрибутива присутствует превеликое множество программ. Вполне может статься так, что и заинтересовавшая Вас программа там также уже присутствует. По этому, сначала поищите её в репозитории. Тем более, что это сделать очень просто…

Теперь возвращаемся к процессу установки. Итак, Вы уже запустили «Центр управления Mandriva«, в нем выбрали закладку «Управление программами«, а в ней щелкнули по иконке «Установка и удаление программ«. Вводим в поле поиска имя программы (пакета) и нажимаем Enter на клавиатуре. В итоге получаем список пакетов, имя которых содержит введенное нами слово:

Читайте также:  Apple.com/bill – что это, сняли деньги с карты Сбербанка

Рис — 8. Результаты поиска пакетов

Нам остается лишь выбрать требующийся пакет из предложенного списка и поставить «птичку» в «чекбоксе» (пустом квадрате) слева от имени выбранного пакета:

Рис. 9 — Выбор пакета

При этом справа от имени ( а точнее — версии) пакета появляется оранжеый символ со стрелкой, обозначающий Ваше намерение скачать данный пакет. Может оказаться так, что при установке «птички» Вы получите дополнительное сообщение о том, что «…для соблюдения зависимостей будут установлены следующие пакеты…» и под этим — целый список. Оно обозначает, что программа, которую Вы собираетесь установить, для своей работы требует, чтобы в системе были установлены программы или библиотеки, приведенные в данном списке, но на данном этапе отсутствующие в Вашей системе. Поэтому, менеджер пакетов предлагает Вам установить недостающее. Если Вы откажетесь, то установка выбранной программы также будет отменена. По этому, остается лишь ответить привычное «ОК» на данное предложение…

Если Вы планировали установить несколько программ, то нужно снова вернуться к процессу поиска (см. рис. 8 выше) и ввести имя следующей программы в строке поиска. Если же Вы хотели установить всего одну программу, то просто жмем кнопку «Применить» внизу справа. И получаем следующий вопрос:

Рис. 10 — Подтверждение установки выбранного пакета

Можно вздохнуть с облегчением — так как это последний вопрос! Жмем кнопку «Да«, немножко ждем (пока пакет(ы) загрузится и установится). Все, выбранная программа установлена.

PS. Это далеко не единственный способ установить программу в Mandriva. Как говорится «Продолжение следует«…

Советую также прочесть следующие записи блога:

  • Установка xneur в Mandriva (комментариев — 0)
  • Установка Mandriva Linux Free 2008 Spring (комментариев — 0)
  • Обновление Mandriva 2008.0 до Mandriva 2008.1 через интернет (комментариев — 0)
  • Установка WordPress (комментариев — 1)
  • Упрощаем скрипт автоматического обновления (комментариев — 0)
Читайте также:  Установка программ в Linux (.tar, .gz, .bz, RPM и DEB)

Сохранение фоновых процессов после выхода из оболочки

Если ваше соединение разрывается или вы выходите из сеанса оболочки, фоновые процессы прекращаются. Есть несколько способов сохранить выполнение процесса после завершения сеанса интерактивной оболочки.

Один из способов — удалить задание из управления заданиями оболочки с помощью встроенной команды disown shell:

disown

Если у вас несколько фоновых заданий, укажите % и идентификатор задания после команды:

disown %1

Подтвердите, что задание удалено из таблицы активных заданий, используя команду jobs -l . Чтобы перечислить все запущенные процессы, включая отключенные, используйте команду ps aux .

Еще один способ сохранить выполнение процесса после выхода из оболочки — использовать nohup .

Команда nohup выполняет другую программу, указанную в качестве аргумента, и игнорирует все сигналы SIGHUP (зависание). SIGHUP — это сигнал, который отправляется процессу, когда его управляющий терминал закрыт.

Чтобы запустить команду в фоновом режиме с помощью команды nohup , введите:

nohup command &

Вывод команды перенаправляется в файл .

nohup: ignoring input and appending output to »

Если вы выйдете из системы или закроете терминал, процесс не завершится.

Как запустить скрипт в Linux

Мы уже говорили, что программы делятся на бинарные и интерпретируемые. Раньше мы говорили только про бинарные программы. Для запуска интерпретируемых нужен непосредственно интерпретатор, к таким программам относятся написанные на таких языках, как Java, Python, Perl, Ruby, PHP, NodeJS и многих других. Синтаксис запуска такой программы отличается:

интерпретатор /путь/к/файлу/программы параметры

Разные интерпретаторы ведут себя по разному, поэтому лучше сразу указывать полный путь к программе. Python обычно подхватывает скрипты из текущей папки без указания полного пути:

python

А Java программы нужно запускать так:

java -jar

Для файлов интерпретируемых программ флаг исполняемости необязательный, поскольку они передаются в виде параметра основной программе. Только Bash скрипты составляют исключение. Вы можете запустить скрипт интерпретатором:

Или же просто набрать путь к скрипту:

Оболочка сама определяет свои скрипты по флагу исполняемости и выполняет их. Если флаг исполняемости не установлен, то его стоит добавить:

sudo chmod u+x ./

Поэтому то и для большинства интерпретируемых программ созданы простые sh скрипты которыми их можно быстро запустить.