Redis не запускается при загрузке

Я установил пакет redis-server на Ubuntu 14.04 LTS, работающий в Amazon EC2.

ii  redis-server  2:2.8.4-2  amd64
ii  redis-tools   2:2.8.4-2  amd64

Он не запускался при загрузке. Итак, я выполнил следующие команды, чтобы воссоздать сценарии инициализации:

$ sudo sudo update-rc.d -f redis-server remove
 Removing any system startup links for /etc/init.d/redis-server ...
   /etc/rc0.d/K20redis-server
   /etc/rc1.d/K20redis-server
   /etc/rc2.d/S20redis-server
   /etc/rc3.d/S20redis-server
   /etc/rc4.d/S20redis-server
   /etc/rc5.d/S20redis-server
   /etc/rc6.d/K20redis-server
$ sudo sudo update-rc.d -f redis-server defaults
 Adding system startup for /etc/init.d/redis-server ...
   /etc/rc0.d/K20redis-server -> ../init.d/redis-server
   /etc/rc1.d/K20redis-server -> ../init.d/redis-server
   /etc/rc6.d/K20redis-server -> ../init.d/redis-server
   /etc/rc2.d/S20redis-server -> ../init.d/redis-server
   /etc/rc3.d/S20redis-server -> ../init.d/redis-server
   /etc/rc4.d/S20redis-server -> ../init.d/redis-server
   /etc/rc5.d/S20redis-server -> ../init.d/redis-server

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

$ sudo ./S20redis-server status
redis-server is running

Однако после перезагрузки redis-server не запущен. Я просмотрел /var/log/redis/redis-server.log , и там есть только сообщения о завершении работы и запуске, ничего, что указывало бы на проблему. Вывод dmesg также не содержит ошибок. для команды taskkill?

0
задан 21 June 2017 в 18:14
1 ответ

То, что вы наблюдаете, - это «именно то, как это работает» ( см. Раздел «Несколько команд в одной строке» ).

В пакетном файле поведение по умолчанию - чтение и раскрытие переменных по одной строке за раз, если вы используете & для запуска нескольких команд в одной строке, то любые изменения переменных не будут видны, пока выполнение не перейдет к следующей строке.

Если вы хотите, чтобы это работало, вам нужно поместить «однострочник» в пакетный файл, а затем использовать «SETLOCAL EnableDelayedExpansion». Конечно, в этот момент вы можете просто сделать это двумя строками.

Если вы не привязаны к пакетным файлам, в Powershell вы можете сделать это в одной строке без переменных: Stop-Process - Id (Get-Content c: \ temp \ pid.txt)

1
ответ дан 4 December 2019 в 16:13

Теги

Похожие вопросы