5

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

 2 years ago
source link: https://www.chenweiliang.com/cwl-26494.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

2022年2月8日

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监控软件教程 ▼

AddThis Recommended

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK