86

I started redis server on ubuntu by typing this on terminal: $redis-server

This results in following > http://paste.ubuntu.com/12688632/

aruns ~ $ redis-server
27851:C 05 Oct 15:16:17.955 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
27851:M 05 Oct 15:16:17.957 # You requested maxclients of 10000 requiring at least 10032 max file descriptors.
27851:M 05 Oct 15:16:17.957 # Server can't set maximum open files to 10032 because of OS error: Operation not permitted.
27851:M 05 Oct 15:16:17.958 # Current maximum open files is 4096. maxclients has been reduced to 4064 to compensate for low ulimit. If you need higher maxclients increase 'ulimit -n'.
27851:M 05 Oct 15:16:17.958 # Creating Server TCP listening socket *:6379: bind: Address already in use

How can I fix this problem, it there any manual or automated process to fix this binding.

17 Answers 17

144
$ ps aux | grep redis

Find the port that its running on.. In my case..

MyUser  8821   0.0  0.0  2459704    596   ??  S    4:54PM   0:03.40 redis-server *:6379

And then close the port manually

$ kill -9 8821

Re-run redis

$ redis-server
2
  • 10
    killall redis-server would be simpler. Jul 4, 2021 at 14:32
  • 6
    sudo service redis-server stop worked for me Mar 20, 2022 at 12:49
140
sudo service redis-server stop
3
  • 3
    This one worked like a charm for me. I am just wondering why? What does it do differently than 'killall redis-server'? Oct 8, 2021 at 14:51
  • 3
    I tired them all and this is the only one that worked for me on Ubuntu Oct 23, 2021 at 2:43
  • This should have been the top comment
    – Am33d
    Feb 21 at 6:41
33

I solved this problem on Mac by just typing redis-cli shutdown, after this just re open the terminal and type redis-server and it will work .

0
17

for me, after lots of problems, this solved my issue:

 root@2c2379a99b47:/home/ ps -aux | grep redis
    redis     3044  0.0  0.0  37000  8780 ?        Ssl  14:59   0:00 /usr/bin/redis-server *:6379  

after finding redis, kill it!

root@2c2379a99b47:/home# sudo kill -9 3044
root@2c2379a99b47:/homek# sudo service redis-server restart
Stopping redis-server: redis-server.
Starting redis-server: redis-server.
root@2c2379a99b47:/home# sudo service redis-server status 
redis-server is running
12

This works for me:

$ killall redis-server

And combining everything in one line:

$ killall redis-server; redis-server
9

So as it says, the process is already running so the best to do is to stop it, analyse and restart it and todo so here are the following commands :

redis-cli ping #should return 'PONG'

And this solved my issue:

$ ps -ef |grep redis

root      6622  4836  0 11:07 pts/0    00:00:00 grep redis
redis     6632     1  0 Jun23 ?        04:21:50 /usr/bin/redis-server *:6379

Locate redis process, and stop it!

$ kill -9 6632
$ service redis restart


Stopping redis-server: [  OK  ]
Starting redis-server: [  OK  ]


$ service redis status

Otherwise if all this doesn't work just try to type redis-cli

Hope it helps :)

8

I read the documentation on http://www.redis.io , I opened the redis.conf file to configure the redis-server, its located at /etc/redis/redis.conf

$ sudo subl /etc/redis/redis.conf

Instead of sublime editor you can use editor of your choice, viz. nano, vi, emacs, vim, gedit.

In this file I uncommented the #bind 127.0.0.1 line. Hence, instead of 0.0.0.0:6379 now its 127.0.0.1:6379

Restart the redis server

$ sudo service redis-server restart

It will state, The server is now ready to accept connections on port 6379

This will put your server up, For any more detailed configuration and settings you can follow this redis-server on ubuntu

6

I prefer to use the command param -ef,

ps -ef|grep redis

the -efmeans

-A      Display information about other users' processes, including those
         without controlling terminals.
-e      Identical to -A.

-f      Display the uid, pid, parent pid, recent CPU usage, process start
        time, controlling tty, elapsed CPU usage, and the associated com-
        mand.  If the -u option is also used, display the user name
        rather then the numeric uid.  When -o or -O is used to add to the
        display following -f, the command field is not truncated as se-
        verely as it is in other formats.

then kill the pid

kill -9 $pid
3

You may try

$ make

then

$ sudo cp src/redis-cli /usr/local/bin/ on terminal to install the redis and it's redis-cli command.

finally, you can use the redis-cli shutdown command. Hope this answer could help you.

3

I am very late to answer this, but this is the solution worked for me, I think since I was using redis in docker, I could not fully kill the redis server. This is what helped me, firstly I stoped the redis server via the command

sudo systemctl stop redis

then run the redis server via the command

redis-server
1

Killing the process that was running after booting in the OS worked for me. To prevent redis from starting at startup in Ubuntu OS:

sudo systemctl disable redis-server
1

In my case, I tried several times to kill the port manually and didn't work. So I took the easy path, reinstallation and worked like charm after that. If you're in Debian/Ubuntu:

sudo apt remove redis-server // No purge needed
sudo apt update
sudo apt install redis-server // Install once again
sudo systemctl status redis-server  // Check status of the service
redis-server    // initializes redis

Not the most technical-wise path, but nothing else worked.

1

This is worked for me:

killall redis-server
0

It may also happen if you installed Redis via snap and are trying to run it from somewhere else. If this is the case, you can stop the service via sudo snap stop redis.

0

I'm not sure, but when I first time installed redis and faced this message, turned out that's due to the redis-server first of all takes configure parameters or path/to/redis.conf, so when I passed nothing after "redis-server" it was trying to execute default redis.conf (bind 127.0.0.1, port 6379 ...) thereby overwrite the existing default redis.conf (which contains same "bind" and "port"!!). That's why I've seen this error, but it's possibly you have another reasons

0

sudo service redis-server stop

Then

redis-server

This two command solved my issue

-1

The problem shows that the default port that redis uses 6379is already in use by some other process. So simply change the port of redis server

redis-server --port 7000 will start a Redis server using port number 7000. and then redis-cli -p 7000 - Now use this to make your client listen at this port.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.