使用 systemd (现代 Linux 发行版,如 Ubuntu 16.04+, CentOS 7+, Debian 8+)
这是目前最主流的方式,大多数现代 Linux 系统都使用 systemd 作为其初始化系统和服务管理器。

重启 Memcached 服务
sudo systemctl restart memcached
常用相关命令
-
停止服务:
sudo systemctl stop memcached
-
启动服务:
sudo systemctl start memcached
-
重载配置并重启 (推荐): 这个命令会先停止服务,然后重新加载最新的配置文件,再启动服务,这比单纯的
restart更能确保配置被正确应用。sudo systemctl restart memcached
注意:
systemd的restart命令本身就包含了“停止-启动”的过程,效果等同于重载配置,但在一些其他服务管理器中,restart不会重新读取配置文件,对于systemd,restart和reload是两个独立的概念。reload用于不中断服务的情况下重新加载配置(如果服务支持)。
(图片来源网络,侵删)# 尝试在不中断服务的情况下重新加载配置(memcached 版本支持) sudo systemctl reload memcached
对于 Memcached 修改配置后最稳妥的方式还是
restart。 -
查看服务状态:
sudo systemctl status memcached
这个命令会显示服务是否正在运行,以及最近的日志信息。
-
设置开机自启:
(图片来源网络,侵删)sudo systemctl enable memcached
-
禁止开机自启:
sudo systemctl disable memcached
使用 SysVinit (较旧的 Linux 发行版,如 CentOS 6, Debian 7)
一些较老的系统仍在使用 SysVinit 和 service 命令来管理服务。
重启 Memcached 服务
sudo service memcached restart
常用相关命令
- 停止服务:
sudo service memcached stop
- 启动服务:
sudo service memcached start
- 查看服务状态:
sudo service memcached status
- 设置开机自启:
sudo chkconfig memcached on
- 禁止开机自启:
sudo chkconfig memcached off
手动编译安装,且未使用服务管理器
如果您是手动下载源码编译安装的 Memcached,并且没有将其配置为系统服务,那么您需要手动找到并管理它的进程。
找到 Memcached 的进程 ID (PID)
# 使用 pgrep 命令(推荐) pgrep -f memcached # 或者使用 ps 命令 ps aux | grep memcached
您会看到类似 1234 (PID) 的输出。
使用 PID 文件重启 (如果配置了)
如果您的 Memcached 启动时指定了 -P 参数来记录 PID 文件,那么重启会更方便,配置文件中可能有:
pidfile /var/run/memcached/memcached.pid
重启步骤如下:
- 停止进程:
# 使用 kill 命令和 PID 文件中的 ID sudo kill $(cat /var/run/memcached/memcached.pid)
- 重新启动:
找到您当初启动 Memcached 的命令(
memcached -d -m 512 -u root -l 127.0.0.1 -p 11211),然后重新执行它。
直接杀死进程并重启(不推荐,但简单粗暴)
- 强制杀死进程:
sudo pkill -9 -f memcached
pkill -9会强制终止进程,可能导致数据丢失(如果缓存中还有未持久化的数据)。 - 重新启动: 再次执行您当初的启动命令。
如何判断我的系统使用哪种方式?
您可以在终端中执行以下命令来判断:
# 检查 systemd 是否存在且是主要的 init 系统 ls -l /sbin/init # 如果输出类似 /usr/lib/systemd/systemd 或 /sbin/init -> /usr/lib/systemd/systemd,则使用 systemd # 或者检查是否存在 systemctl 命令 which systemctl # 如果有输出,则使用 systemd
如果以上命令没有结果或指向了 upstart 或 init,那么您的系统很可能在使用 SysVinit 或 service 命令。
| 场景 | 重启命令 | 备注 |
|---|---|---|
| 现代 Linux (systemd) | sudo systemctl restart memcached |
最推荐,通用且强大。 |
| 旧版 Linux (SysVinit) | sudo service memcached restart |
在老系统中使用。 |
| 手动安装 (无服务) | sudo pkill -f memcached 手动启动命令 |
最后的选择,风险较高。 |
对于绝大多数用户来说,您只需要使用第一种情况下的命令即可。
