Верх страницы
Обложка к записи Запуск WP-CLI в фоне
Время для прочтения: 1 мин. 53 сек.

Запуск WP-CLI в фоне

Если на вашем сайте содержится огромное количество изображений для изменения размера, то вы можете запустить WP-CLI в фоновом процессе и закрыть терминал, не дожидаясь завершения выполнения задачи.

В этом коротеньком руководстве я покажу вам, как запустить команду wp media regenerate в фоне. Вся магия заключается в командах nohupи tmux.

Команда nohup

nohup — UNIX-утилита, запускающая указанную команду с игнорированием сигналов потери связи (SIGHUP). Таким образом, команда будет продолжать выполняться в фоновом режиме и после того, как пользователь выйдет из системы.

Если стандартным выводом (stdout) команды является терминал, то он и стандартный вывод ошибок (stderr) перенаправляются с добавлением в файл «nohup.out» в текущем каталоге; если это невозможно сделать, то перенаправление происходит в файл «$HOME/nohup.out».

nohup wp media regenerate --yes &

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

[1] 223344

Для просмотра лога процесса пересоздания миниатюр, введите:

cat nohup.out

Для получения списка задач, напечатайте команду jobs:

jobs

Вывод будет похож примерно на это:

[1]+  Running nohup wp media regenerate --yes &

Для остановки процесса регенерации миниатюр используйте команду kill и порядковый номер задачи, полученный на предыдущем шаге [1]+:

kill %1

Если вы завершите сессию в терминале, то вместо команды jobs вам нужно будет испльзовать другую команду ps -eaf | grep wp:

ps -eaf | grep wp

Вывод будет похож примерно на это:

501 223344 220044   0  3:19PM ttys000    0:00.14 wp media regenerate --yes

Для завершения процесса пересоздания миниатюр используйте её идентификатор, переданный команде kill:

kill 223344

Команда tmux

tmux — это свободная консольная утилита-мультиплексор, предоставляющая пользователю доступ к нескольким терминалам в рамках одного экрана.

tmux может быть отключен от экрана: в этом случае он продолжит исполняться в фоновом режиме; имеется возможность вновь подключиться к tmux, находящемуся в фоне.

Установите tmux:

sudo apt update && sudo apt install tmux -y

Присоединитесь к сессии tmux или создайте новую:

tmux attach || tmux new

Запустите процесс пересоздания миниатюр:

wp media regenerate --yes --path=/var/www/public_html/ 

Далее используйте комбинацию клавиш ctrl+b, чтобы перейти в командный режим и d, чтобы свернуть в фон.

Для просмотра статуса снова используйте:

tmux attach || tmux new
ВКонтакте
Одноклассники
Linkedin
Telegram
WhatsApp

Автор: Кобзарёв Михаил

Суровый русский тимлид. Жил в Магадане, в офисе московских веб студий и в Тульской деревне. Виртуозно знает WordPress, PHP, ООП, Vue.js и вот это вот все.

Делает крутые высоконагруженные сайты, поэтому уже почти захватил весь рынок WordPress разработки в России. Не дает никому делать сайты без спроса.

Ведет блог о разработке, дайджест в телеграмме и в ВК.

Комментарии
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Предыдущая запись
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x