Windows 10의 Ubuntu Bash WSL에서 redis-server 서비스를 시작하려면 어떻게해야합니까?


1

Windows 10에 Ubuntu Bash가 설치되어 있습니다. 터미널을 처음 열 때마다 redis-server실행하지 않고 백그라운드에서 어떻게 시작 sudo service redis-server restart합니까?

~/.bashrc파일에 해당 명령을 추가하려고 시도했지만 터미널 창을 열 때마다 암호를 입력해야합니다. 터미널 창을 열 때마다 서버가 다시 시작됩니다. 누구든지 이것을 처리하는 더 나은 방법을 알고 있습니까?


WSL에 대한 실마리는 없지만 암호가 필요한 sudo로 인해 문제가 발생하는 것처럼 들리므로 visudo를 호출하고 nopasswd를 설정할 수 있습니다. askubuntu.com/questions/334318/… , 두 번째 부분은 해당 쓰기 서비스가 PID 파일을 작성합니까? 그렇다면 서비스를 시작하기 전에 프로세스가 있는지 확인하고 프로세스가 있는지 확인하십시오.
T Nierath

CMD 창을 닫은 후 서비스가 백그라운드에서 실행됩니까? service xyz startCMD 창을 입력 하고 닫습니다. 서비스가 작업 관리자에서 실행중인 것을 볼 수 있습니다. 어떤 Windows 버전을 실행하고 있습니까?
Biswapriyo

Windows 10 Pro Build 1803을 실행하고 있습니다. 모든 터미널을 닫은 후에 작동하기 때문에 터미널을 닫은 후에 백그라운드에서 실행되고 있다고 생각합니다.
fwaokda

@TNierath, bash 스크립트를 작성 해야하는 것처럼 보입니다. 나는 그런 식으로 확인하고 시도 할 수 있지만 조금 걸릴 수 있습니다. bash 스크립트를 작성했습니다.
fwaokda

답변:


1

sshd안드로이드에서 termux에 로그인 할 때 한 번 시작하기 위해 이것을 사용 합니다. 문제는 매우 비슷합니다. 프로세스가 .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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.