node.js - 如何停止以 --daemonize yes 启动的 redis 服务器

标签 node.js ubuntu amazon-ec2 redis

我正在尝试终止以 --daemonize yes 启动的 redis 服务器

我觉得这个应该很容易,但是按照标准的方法我无法成功杀掉它。我正在使用通过以下说明安装的 Redis 3.2:https://www.hugeserver.com/kb/install-redis-debian-ubuntu/

$ redis-server --daemonize yes 
1550:C 13 Mar 05:54:55.436 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1550:C 13 Mar 05:54:55.437 # Redis version=4.0.8, bits=64, commit=00000000, modified=0, pid=1550, just started
1550:C 13 Mar 05:54:55.437 # Configuration loaded
$ kill 1550
-bash: kill: (1550) - No such process
$ kill -9 1550
-bash: kill: (1550) - No such process
$ killall redis-server
redis-server(1181): Operation not permitted
redis-server: no process found
$ /etc/init.d/redis-server stop
[....] Stopping redis-server (via systemctl): redis-server.service==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to stop 'redis-server.service'.
Authenticating as: Ubuntu (ubuntu)
Password: 

为什么我需要输入密码才能停止它?我在启动时从未设置密码。为什么 kill 不起作用?即使我对它进行 sudo,它也会在之后重新启动。

----------------编辑--------------------

附加信息。对进程 ID 使用 kill 命令不起作用。我必须使用 sudo kill 但随后它会返回另一个 processid,就好像有什么东西重新启动了它一样。我刚刚杀了它 3 次,它又回来了,带有第 4 个 processid –

------------ 感谢@Kevin Law 的解决方案------------

我需要终止守护进程服务,然后终止进程。不只是一个或另一个...

ubuntu@ip-MyIPAddress:~/Relayer$ ps -ef | grep redis-server
ubuntu    2381     1  0 18:39 ?        00:00:00 redis-server *:6379
ubuntu    2386  1358  0 18:39 pts/0    00:00:00 grep --color=auto redis-server
ubuntu@ip-MyIPAddress:~/Relayer$ sudo service redis-server stop
ubuntu@ip-MyIPAddress:~/Relayer$ ps -ef | grep redis-server
ubuntu    2381     1  0 18:39 ?        00:00:00 redis-server *:6379
ubuntu    2418  1358  0 18:39 pts/0    00:00:00 grep --color=auto redis-server
ubuntu@ip-MyIPAddress:~/Relayer$ kill 2381
ubuntu@ip-MyIPAddress:~/Relayer$ ps -ef | grep redis-server
ubuntu    2420  1358  0 18:39 pts/0    00:00:00 grep --color=auto redis-server
ubuntu@ip-MyIPAddress:~/Relayer$ 

最佳答案

我的测试中你的问题有三个选项。

  1. 通过停止 redis 服务来停止 redis。这是大多数情况下推荐的方式。
sudo systemctl stop redis-server

sudo service redis-server stop
  1. 连接到这个 redis-server 并通过 redis-cli 关闭它。
redis-cli

连接到redis后,发出shutdown命令关闭redis-server

shutdown
  1. 直接杀掉redis-server进程:
ps -ef | grep redis-server
kill -9 (pid)

关于node.js - 如何停止以 --daemonize yes 启动的 redis 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49249229/

相关文章:

reactjs - 在 AWS 上使用 NextJS SSR 部署 React 应用程序的最便宜方法?

javascript - Node 获取响应为 503,其中请求响应为代理后面的 200

linux - 是否可以在Linux命令行中使用 "py"代替 "python"?

node.js - Nginx 反向代理无法在本地主机上与 Nodejs 一起使用

linux - 如何在 Ubuntu 12.0.4 上安装 libjpeg-turbo8

php - 推送到负载均衡器上的多个 EC2 实例

node.js - 如何修复 'error: syntax error at or near "end"' 来自 NodeJS 中 pg 依赖的错误?

node.js - 事件循环与 Node.js 主线程位于同一线程中?

javascript - 使用 `target: node` 时如何说服 webpack 使用 Node 导入而不是 web 导入

linux - EC2 用户访问或文件访问问题?