Я некоторое время ломал голову над этим, и мне удалось уточнить мою проблему до одной проблемы. У меня есть служба, которая должна запускать сценарий оболочки для запуска процессов демона (с использованием nohup), эти процессы представляют собой боты раздора, написанные с использованием nodejs и discordjs. В настоящее время у меня есть служба, которая запускает тестового бота разногласий, когда я запускаю его с помощью sudo systemctl запустить startdiscordbots
и это работает нормально. Проблема в том, что когда я перезагружаю компьютер, служба выдает следующую ошибку:
/daemons/discordbots/discounter/node_modules/discord.js/src/rest/RequestHandler.js:172
31 августа 13:35:15 ubuntu start.sh[2459]: выдать новую HTTPError(error.message, error.constructor.name, error.status, request);
31 августа 13:35:15 ubuntu start.sh[2459]: ^
31 августа 13:35:15 ubuntu start.sh[2459]: HTTPError [FetchError]: запрос на https://discord.com/api/v9/gateway/bot не удался, причина: getaddrinfo EAI_AGAIN discord.com
31 августа 13:35:15 ubuntu start.sh[2459]: в RequestHandler.execute (/daemons/discordbots/discounter/node_modules/discord.js/src/rest/RequestHandler.js:172:15)
31 августа 13:35:15 ubuntu start.sh[2459]: at processTicksAndRejections (узел: внутренний/процесс/task_queues:96:5)
31 августа 13:35:15 Ubuntu start.sh[2459]: at async RequestHandler.push (/daemons/discordbots/discounter/node_modules/discord.js/src/rest/RequestHandler.js:50:14)
31 августа 13:35:15 ubuntu start.sh[2459]: at async WebSocketManager.connect (/daemons/discordbots/discounter/node_modules/discord.js/src/client/websocket/WebSocketManager.js:128:9)
31 августа 13:35:15 Ubuntu start.sh[2459]: at async Client.login (/daemons/discordbots/discounter/node_modules/discord.js/src/client/Client.js:245:7) {
31 августа 13:35:15 ubuntu start.sh[2459]: код: 500,
31 августа 13:35:15 ubuntu start.sh[2459]: метод: 'получить',
31 августа 13:35:15 ubuntu start.sh[2459]: путь: '/шлюз/бот',
31 августа 13:35:15 Ubuntu start.sh [2459]: requestData: { json: undefined, files: [] }
31 августа 13:35:15 Ubuntu start.sh[2459]: }
Итак, я знаю, что служба запускается нормально, как только все остальные службы были загружены правильно, но я предполагаю, что есть служба, которую мне нужно поместить в После=
часть файла startdiscordbots.service, которую я пропустил, мой startdiscordbots.service
код ниже
[Ед. изм]
Description=Запуск ботов разногласий в качестве фоновых процессов
After=network.target systemd-user-sessions.service
[Оказание услуг]
Тип=простой
ExecStart=/startup/start.sh
Перезапуск = при сбое
Рестартсек=5
KillMode=процесс
Пользователь=убунту
[Установить]
WantedBy=многопользовательская.цель
Кто-нибудь знает, есть ли служба, которую мне нужно указать в После=
что я пропустил или что-то еще происходит?
Я использую компьютер RaspberryPi с установленным Ubuntu Server, я использую node v16.8.0 и npm v7.21.0 с discordjs v13.1.0. У меня есть доступ только к терминалу, поэтому, пожалуйста, не давайте ответов, говорящих мне использовать другие инструменты.
Любая помощь будет потрясающей!