Как сделать чтобы бот работал в фоновом режиме

Обновлено: 07.07.2024

Сейчас к чат-ботам все уже привыкли и не обращают внимание на то, как боты ведут диалог — мы привыкли к скопированным шаблонным и “сухим” фразам. В этом нет ничего плохого, даже такой бот может отлично решать свою задачу.

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

Спойлер — для этого не нужен профессиональный копирайтер!

Вы сталкивались с ботом, который после одного вопроса закидывает вас утомительными простынями текста, которому нет конца? А его ответы не отличаются от текста на странице FAQ на сайте?

Если сталкивались с таким, то наверняка общаться с таким ботом было не интересно, утомительно и долго. А основой конструктивного разговора является именно диалог. Конечно, в случае с ботом полноценного диалога не получится, но это должно быть хотя бы чем-то приближенным к реальному диалогу.

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

Давайте посмотрим на чат-бота Васю, который учит английскому:

Да, она передает заложенный смысл, но реальный человек никогда так не ответит. Замените это предложение чем-то таким:

Как правило, выполнение команд в терминале связано с одним неудобством — прежде чем приступить к вводу следующей команды, следует дождаться выполнения предыдущей. Это происходит, поскольку текущий процесс блокирует доступ к оболочке операционной системы и в таких случаях говорят, что команда выполняется на переднем плане. Что же делать, если нужно запустить несколько команд одновременно? Есть несколько решений. Первое и наиболее очевидное — открыть дополнительное окно терминала. Второе — инициировать выполнение команды в фоновом режиме.

Если какой-либо процесс происходит в фоновом режиме, это значит, что он не предусматривает взаимодействия с пользователем, следовательно, доступ к оболочке остается свободным. Прочитав эту статью, вы узнаете как запустить процесс в фоне Linux и что делать, чтобы их выполнение не прерывалось после закрытия терминала.

Как запустить процесс в фоне Linux

Для выполнения команды в фоновом режиме достаточно добавить в конце символ амперсанда (&):

В выводе терминала будут отображены порядковый номер задачи (в квадратных скобках) и идентификатор процесса:


В фоновом режиме можно одновременно запускать сразу два, три, четыре процесса и даже больше.

command > /dev/null 2>&1 &

Здесь >/dev/null 2>&1 обозначает, что stdout будет перенаправлен на /dev/null, а stderr — к stdout.


Узнать состояние всех остановленных и выполняемых в фоновом режиме задач в рамках текущей сессии терминала можно при помощи утилиты jobs c использованием опции -l:

Вывод содержит порядковый номер задачи, идентификатор фонового процесса, состояние задачи и название команды, которая запустила задание.


В любое время можно вернуть процесс из фонового режима на передний план. Для этого служит команда fg:

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


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


Как перевести процесс в фоновый режим

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

  1. Остановить выполнение команды, нажав комбинацию клавиш Ctrl+Z.
  2. Перевести процесс в фоновый режим при помощи команды bg.


Работа процессов в фоне

Запуск скрипта в фоне linux - это одно, но надо чтобы он ещё работал после закрытия терминала. Закрытие терминала путем нажатия на крестик в верхнем углу экрана влечет за собой завершение всех фоновых процессов. Впрочем, есть несколько способов сохранить их после того как связь с интерактивной оболочкой прервется. Первый способ — это удаление задачи из очереди заданий при помощи команды disown:

Как и в предыдущих случаях, при наличии нескольких одновременно выполняемых процессов следует указывать номер того, относительно которого будет выполнено действие:


Убедиться, что задачи больше нет в списке заданий, можно, использовав уже знакомую утилиту jobs -l. А чтобы просмотреть перечень всех запущенных процессов (в том числе и отключенных) применяется команда

Второй способ сохранить запущенные процессы после прекращения работы терминала — команда nohup. Она выполняет другую команду, которая была указана в качестве аргумента, при этом игнорирует все сигналы SIGHUP (те, которые получает процесс при закрытии терминала). Для запуска команды в фоновом режиме нужно написать команду в виде:


Как видно на скриншоте, вывод команды перенаправляется в файл nohup.out. При этом после выхода из системы или закрытия терминала процесс не завершается. Существует ряд программ, которые позволяют запускать несколько интерактивных сессий одновременно. Наиболее популярные из них — Screen и Tmux.

  • Screen либо GNU Screen — это терминальный мультиплексор, который позволяет запустить один рабочий сеанс и в рамках него открыть любое количество окон (виртуальных терминалов). Процессы, запущенные в этой программе, будут выполняться, даже если их окна невидимы или программа прекратила работу.
  • Tmux — более современная альтернатива GNU Screen. Впрочем, возможности Tmux не имеют принципиальных отличий — в этой программе точно так же можно открывать множество окон в рамках одного сеанса. Задачи, запущенные в Tmux, продолжают выполняться, если терминал был закрыт.

Выводы

Чтобы запустить скрипт в фоне linux, достаточно добавить в конце знак &. При запуске команд в фоновом режиме отпадает необходимость дожидаться завершения одной команды для того, чтобы ввести другую. Если у вас возникли вопросы, обязательно задавайте их в комментариях.

Алиса в фоновом режиме

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

Как сделать, чтобы Алиса работала в фоновом режиме?

На компьютере

На Android телефонах и планшетах

На смартфонах Android и планшетах перед запуском голосового помощника Алисы необходимо скачать и установить Яндекс с Алисой или Яндекс-браузер с Алисой. После установки, в браузере можно найти фиолетовый кружок с микрофоном. Это значок Алисы. Нажатие на него активирует голосового помощника.
Для удобства пользователя значок бота можно переместить на экран смартфона, тогда Алиса будет всегда под рукой. Делается это так:

Этот метод подходит для тех, у кого еще не был установлен Яндекс-браузер.
Если пользователь давно использует Яндекс на своем смартфоне или планшете, то:

  • Откройте браузер;
  • Перейдите в настройки;
  • Запустите голосовую активацию, выбрав один из предложенных вариантов.

На iOS

Как и на Android, на смартфонах с iOS необходимо установить Яндекс с Алисой, где голосовой помощник доступен по умолчанию, и убедиться, что голосовая активация запущена. Но запустить голосом Алису не так-то просто. Для этого необходимо обойти голосового ассистента Сири.

Чтобы пользователь смог запускать Алису голосом, нужно:

Как отключить фоновый режим?

Отключить Алису, работающую в фоновом режиме, легко, так как на любом из перечисленных устройств, кроме Яндекс.Станции и Яндекс.Телефона, голосовой помощник Алиса не может работать постоянно.

На компьютере

У тех, кто использует разные браузеры на своем компьютере, есть такой вариант: закройте Яндекс, воспользуйтесь другим браузером и Алиса выключится. Если так поступить нет возможности, то можно в настройках браузера отключить голосовую активацию помощника или полностью его выключить, сняв галочки с выбранных позиций.

Так же можете ознакомиться со статьей Как отключить Алису.

На Android телефонах и планшетах

На мобильных устройствах с системой Андроид Алиса отключается автоматически, как только гаджет переходит в режим ожидания и отключается экран. Так же можно отключить Алису, дав команду голосовому ассистенту Гугл.

На iOS

Для устройств, работающих на базе iOS, действует тот же принцип работы Алисы, что и для Android.

Слушает ли Алиса в фоновом режиме?

Сказать, что Алиса доступна в фоновом режиме на устройствах с разными ОС нельзя. Но в момент работы Яндекс. Браузера на компьютере или при условии подключения возможности голосового управления на мобильных гаджетах, приложение Алиса может слышать команды, отданные голосом, находясь в фоновом режиме.

В процессе взаимодействия со смартфоном человек пользуется самыми разными приложениями. Многие ошибочно полагают, что программа начинает работать только после того, как владелец устройства кликнет по ее иконке. Но это не так. Часть приложений работает без участия пользователя. Такой режим работы называется фоновым.

image

Как работает фоновый режим на Андроиде

Функционирование без участия пользователя – размытое объяснение работы фонового режима. Новичок вряд ли поймет, что действительно представляет собой данная опция. Поэтому наш эксперт подготовил ответы на самые распространенные вопросы.

Эксперт в области цифровых технологий и деятельности мобильных операторов. Занимаюсь постоянным мониторингом изменений отрасли в России и за рубежом.

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

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

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

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

Преимущества и недостатки фонового режима

image

Кроме того, процессы, функционирующие без участия пользователя, продолжают работу, когда владелец занят другими делами. В качестве примера можно привести рендеринг видео. Вряд ли кто-то будет ждать 30-60 минут с открытой программой, пока монтируется ролик. В это время большинство людей запустить другое приложение, чтобы посмотреть видео или сыграть партию в любимой игре. Опять же, без фонового режима сделать это было бы невозможно.

Как включить фоновый режим на телефоне

image

Также следует разрешить для каждого конкретного приложения автозапуск. Главным образом это будет иметь решающее значение для мессенджеров, которые должны быть всегда готовы вовремя отобразить уведомления. Как правило, соответствующая опция располагается по пути Настройки – Разрешения – Автозапуск. Но в зависимости от модели устройства итоговое расположение может отличаться.

image

Такие программы, как ivi или Google Play Музыка, указанные на скриншоте, можно запретить. Точнее – ограничить автозапуск. Дело в том, что онлайн-кинотеатры и другие подобные программы обычно не присылают уведомления. Их работа в фоне лишь нагружает устройство, заставляя пользователя часто ставить смартфон на зарядку.

Не забывайте, что приложение автоматически переходит в фон после запуска. Его можно запустить с того же места через меню активных процессов (диспетчер задач).

Как отключить фоновый режим на Андроиде

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

Кроме того, программы можно закрыть принудительно. Это будет полезно в тех случаях, когда по каким-то причинам работа в фоне не ограничивается через настроек. То же самое касается запущенных программ, находящихся в оперативной памяти.

image

image

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