она может быть очень полезной, когда вы должны выполнить много команд, но вы не хотите тратить время на ожидание одной команды, чтобы закончить и запустить следующую команду. Вы можете поставить в очередь все их и Task Spooler будет выполнять их по одному. В то же время, вы можете сделать другие виды деятельности. Каждый пользователь в каждой системе есть его/ее собственная очередь заданий. Это также очень полезно, когда вы знаете, что ваши команды зависят от большого количества оперативной памяти, много используется диск, дают много продукции, или по какой-либо причине, лучше не запускать их одновременно. В двух словах, Task Spooler является программой командной строки предназначенной для установки в очередь другие команды для выполнения пакета.
В этом кратком руководстве, мы покажем вам, как установить и использовать Task Spooler в Unix-подобных операционных систем.
В Debian, Ubuntu, Linux Mint:
Task Spooler доступен в репозитории по умолчанию Debian, Ubuntu и других систем на основе DEB. Таким образом, вы можете установить ее с помощью команды:
sudo apt-get install task-spooler
Для других систем, вы можете загрузить исходный файл Task Spooler от этой ссылки и построить его в качестве родного пакета в Linux и установить его.
Давайте посмотрим некоторые практические примеры. Все примеры, приведенные здесь испытывались в системе Ubuntu 16.04 LTS.
Выполните команду tsp:
tsp
Прямо сейчас, нет ничего в очереди. Позвольте мне добавить несколько команд в очередь. Для этого выполните следующую команду:
tsp echo Добро пожаловать в AndreyEx
tsp echo "Привет, Мир"
Теперь запустите tsp команду еще раз, чтобы просмотреть команды в очереди:
tsp
Пример вывода:
ID State Output E-Level Times(r/u/s) Command [run=0/1] 0 finished /tmp/ts-out.jpHIG1 0 0.01/0.00/0.00 echo Добро пожаловать в AndreyEx 1 finished /tmp/ts-out.8H6LLB 0 0.00/0.00/0.00 echo Привет, Мир
Как вы видите, в приведенном выше выводе каждая команда имеет уникальный идентификатор (0, 1, 2 .. и т.д.) в порядке возрастания. Кроме того, она показывает состояние команд (Напр., finished или running) в очереди. Команда echo очень проста и коротка, так что мы получили результат, как «finished». Давайте запустим какую-либо команду, которая занимает больше времени, чтобы закончить.
tsp find / -type f -printf '%T+ %p\n' | sort | head -n 20
Эта команда будет искать и отобразит 20 последних старых файлов в корневой файловой системе(/).
Пример вывода:
2
Теперь запустите команду tsp, чтобы просмотреть список команд в очереди.
tsp
Пример вывода:
ID State Output E-Level Times(r/u/s) Command [run=1/1] 2 running /tmp/ts-out.79rMXn find / -type f -printf %T+ %p\n 0 finished /tmp/ts-out.jpHIG1 0 0.01/0.00/0.00 echo Добро пожаловать в AndreyEx 1 finished /tmp/ts-out.8H6LLB 0 0.00/0.00/0.00 echo Привет, Мир
Как вы видите, в приведенном выше выводе команды с ID 2 работает. Кроме того, вы можете добавить столько команд, сколько вы хотите запустить с помощью Task Spooler.
Для того, чтобы просмотреть результат выполняемого задания, чтобы проверить, что происходит, введите следующую команду:
tsp -c 2
Здесь 2 является идентификатором запуска команды. нажмите CTRL + C, чтобы вернуться обратно в терминал. это не отменяет работающую команду. Это только переведет вас обратно в терминал. Работа будет по-прежнему будет идти на заднем фоне.
Для того, чтобы очистить все команды, которые закончились из очереди, выполните следующую команду:
tsp -C
Здесь, C – заглавная буква. Эта команда удалит последние завершенные команды из очереди. Это не приведет к удалению всех запущенных команд или команд в очереди.
Чтобы удалить команды из очереди, запустить его с ID заданием, как показано ниже:
Кроме того, вы можете удалить команду (running, finished, queued up), указав идентификатор, как показано ниже.
tsp -r 2
Выше команда удалит команду, которая имеет идентификатор 2 из очереди.
Помните, что вам нужно запустить Task Spooler, отличный от дистрибутивов Debian / Ubuntu с помощью команды ts.
Для получения более подробной информации см справочную информацию:
man ts
или
man tsp
Если вы слишком ленивы, чтобы ждать завершения команды, вы можете поставить в очередь все это с помощью Task Spooler. Он будет выполнять команды из очереди по одному в порядке возрастания. Вы можете просмотреть результат любых запущенных команд, используя свой идентификатор в любое время. Он не запустит все команды сразу. Вместо этого он будет выполнять команды одну за другой. Задача диспетчера очереди можно использовать для выполнения пакетных заданий.
И это все. Если вы нашли это руководство полезным, пожалуйста, поделитесь им в социальных сетях или напишите комментарий.
Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!
Спасибо! Ваша заявка принята
Спасибо! Ваша заявка принята