Создание и запуск фоновых задач
На этом этапе вы научитесь создавать скрипт, имитирующий длительно выполняемую задачу, и запускать его в фоновом режиме.
Понимание различия между процессами в переднем и фоновом режиме
В терминале Linux процессы могут запускаться либо в переднем, либо в фоновом режиме:
- Процесс в переднем плане (Foreground process): Когда команда запускается в переднем плане, она занимает ваш терминал до завершения выполнения. Вы не можете запускать другие команды, пока этот процесс не завершится.
- Процесс в фоновом режиме (Background process): Когда команда запускается в фоновом режиме, она выполняется "за кулисами", в то время как ваш терминал остается свободным для выполнения других задач.
Начнем с перехода в директорию проекта:
cd ~/project
Теперь создадим простой скрипт, который имитирует длительно выполняемую задачу. Мы будем использовать его для демонстрации операций в фоновом и переднем режимах:
nano long_running_task.sh
В редакторе nano введите следующий код:
#!/bin/bash
echo "Starting a long task..."
sleep 60 ## This will pause for 60 seconds
echo "Task completed."
Для сохранения файла нажмите Ctrl+O
, затем Enter
, а затем Ctrl+X
для выхода из nano.
Далее, сделайте скрипт исполняемым с помощью следующей команды:
chmod +x long_running_task.sh
Запустим этот скрипт в фоновом режиме, добавив амперсанд (&
) в конце команды:
./long_running_task.sh &
Вы должны увидеть вывод, похожий на следующий:
[1] 1234
Starting a long task...
Число в квадратных скобках [1]
- это номер задачи (job number), а число после него (в этом примере 1234
) - это идентификатор процесса (process ID). Теперь ваш терминал свободен для ввода других команд, в то время как скрипт продолжает выполняться в фоновом режиме.