У Ubuntu Bash WSL в Windows 10, як я можу запустити службу redis-server?


1

У мене встановлено Ubuntu Bash на Windows 10. Як я маю redis-server запуску у фоновому режимі без запуску sudo service redis-server restart кожен раз, коли я спочатку відкриваю термінал?

Я спробував додати цю команду до свого ~/.bashrc файл, але це змушує мене вводити пароль кожного разу, коли я відкриваю вікно терміналу. Він також перезапускає сервер кожного разу, коли я відкриваю вікно терміналу. Хто-небудь знає про кращий спосіб мене обробляти це?


Немає ніякої підказки про WSL, але видається, що проблема викликана sudo, що вимагає пароля, тому ви можете викликати visudo і встановити nopasswd: askubuntu.com/questions/334318/… , друга частина, чи записує служба запису PID-файлу? Якщо так, ви можете перевірити, чи існує він, і якщо це так, перевірте, чи існує процес, перш ніж запустити службу.
T Nierath

Чи працює служба у фоновому режимі після закриття вікна CMD? Тип service xyz start і закрийте вікно CMD. Ви можете побачити, що служба працює в диспетчері завдань. Яку версію Windows ви використовуєте?
Biswapriyo

Я працюю з Windows 10 Pro Build 1803. Я вважаю, що він працює у фоновому режимі після закриття терміналу, тому що він працює після закриття всіх терміналів.
fwaokda

@TNierath, схоже, мені доведеться написати сценарій bash. Я можу перевірити та спробувати зробити це таким чином, але може взяти мене трохи. Я коли-небудь пишу bash-скрипти.
fwaokda

Відповіді:


1

Я використовую це для запуску sshd один раз при вході в termux на android, ваша проблема звучить дуже схоже. Якщо ваш процес створює a .pid Файл потім повинен бути легким, щоб замінити ssh вашим двійковим сервером і скопіювати все .bashrc

# check if pid file exists in path (termux path), if so,
#   check if process id is still running, if so,
#     do nothing
# otherwise start sshd

if [ ! -f $HOME/../usr/var/run/ssh.pid ] \
       || ps|grep $(cat $HOME/../usr/var/run/ssh.pid)
then
    sshd
fi
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.