Redis找不到pid?Redis启动后如何配置pid文件位置地址

Redis启动找不到pid文件位置?Redis的pid文件在哪里?

Redis找不到pid?Redis启动后如何配置pid文件位置地址

Linux怎么查看Redis进程pid文件位置地址?

Linux 查找redis进程命令 ▼

ps -ef | grep redis

返回显示以下查询结果 ▼

redis 28221 1 1 Feb08 ? 00:13:19 /usr/bin/redis-server 127.0.0.1:6379
  • 查看redis进程,就是找不到pid文件位置,该怎么办?

redis.pid文件找不到?

Redis 启动脚本应该在启动时创建一个 pid 文件,但我们已经确认了我们能找到的所有设置,并且没有创建任何 pid 文件。

如果Redis 守护进程未创建 PID 文件,怎么办呢?

redis.pid是如何生成的?

对于Linux服务器的 CentOS 7:

Redis 服务器的名称是redis.service,SSH输入以下命令启动编辑 ▼

systemctl edit redis.service

添加这个 ▼

[Service]

ExecStartPost=/bin/sh -c "echo $MAINPID > /var/run/redis/redis.pid"
PIDFile=/var/run/redis/redis.pid

重启服务:

systemctl daemon-reload
systemctl restart redis
monit reload

然后,会在此位置文件地址,生成 Redis的pid文件:/etc/systemd/system/redis.service.d/override.conf

pid文件地址 ▼

cat /var/run/redis/redis.pid 
=> 27585

redis.pid文件里有什么?

  • redis.pid 文件存储进程的 ID。
  • 使用cat命令查看,可以看到内容只有一行,记录了进程的ID。

redis.pid文件的作用是什么?

  • redis.pid文件的作用,是防止启动进程的多个副本。
  • Monit程序监控redis进程,需要使用redis.pid文件位置地址。

      pid文件的原理是什么?

      • 进程运行后,会为 .pid 文件添加文件锁。
      • 只有获得锁的进程才有写权限(F_WRLCK),将自身的pid写入文件。
      • 其它试图获取锁的进程将自动退出。

      Monit监控添加Redis的pid文件位置地址

      在Monit监控程序的配置文件monit.conf里,添加Redis的pid文件位置地址 ▼

      check process redis with pidfile "/var/run/redis/redis.pid"
      start program "/usr/bin/systemctl start"
      stop program "/usr/bin/systemctl stop"
      if failed host 127.0.0.1 port 6379 then restart 
      if 5 restarts within 5 cycles then timeout
      group redis

      如何设置monit.conf文件

      Monit监控是一个免费的开源软件,点击下方链接,浏览CWP7安装Monit监控软件教程 ▼

      希望陈沩亮博客( https://www.chenweiliang.com/ ) 分享的《Redis找不到pid?Redis启动后如何配置pid文件位置地址》,对您有帮助。

      欢迎分享本文链接:https://www.chenweiliang.com/cwl-26494.html

      欢迎加入陈沩亮博客的 Telegram 频道,获取最新更新!

      喜欢就分享和按赞!
      您的分享和按赞,是我们持续的动力!