redis.conf详解之pidfile

2021-12-18  本文已影响0人  小易哥学呀学

用法

pidfile /var/run/redis_6379.pid

 

注意事项:

如果pidfile文件创建失败,也不会影响redis启动。
配置了daemonizepidfile都会创建pidfile文件。
 

redis源码

当你配置了daemonize却没有配置pidfile时,pidfile的默认路径以及文件名

// https://github.com/redis/redis/blob/6.2.6/src/server.h
115 #define CONFIG_DEFAULT_PID_FILE "/var/run/redis.pid"

什么情况会创建pidfile:配置了daemonize 或 配置了pidfile

// https://github.com/redis/redis/blob/6.2.6/src/server.c
7996   int background = server.daemonize && !server.supervised;
8016   if (background || server.pidfile) createPidFile();

创建pidfile文件的源码。

// https://github.com/redis/redis/blob/6.2.6/src/server.c
7108 void createPidFile(void) {
7109     /* If pidfile requested, but no pidfile defined, use
7110      * default pidfile path */
7111     if (!server.pidfile) server.pidfile = zstrdup(CONFIG_DEFAULT_PID_FILE);
7112
7113     /* Try to write the pid file in a best-effort way. */
7114     FILE *fp = fopen(server.pidfile,"w");
7115     if (fp) {
7116         fprintf(fp,"%d\n",(int)getpid());
7117         fclose(fp);
7118     }
7119 }

什么情况会删除pidfile:配置了daemonize 或 配置了pidfile

// https://github.com/redis/redis/blob/6.2.6/src/server.c
5535 int prepareForShutdown(int flags) {
...忽略部分...
5623     /* Remove the pid file if possible and needed. */
5624     if (server.daemonize || server.pidfile) {
5625         serverLog(LL_NOTICE,"Removing the pid file.");
5626         unlink(server.pidfile);
5627     }

 

原生注释

# If a pid file is specified, Redis writes it where specified at startup
# and removes it at exit.
#
# When the server runs non daemonized, no pid file is created if none is
# specified in the configuration. When the server is daemonized, the pid file
# is used even if not specified, defaulting to "/usr/local/var/run/redis.pid".
#
# Creating a pid file is best effort: if Redis is not able to create it
# nothing bad happens, the server will start and run normally.
#
# Note that on modern Linux systems "/run/redis.pid" is more conforming
# and should be used instead.
#pidfile /var/run/redis_6379.pid

本文属于原创,首发于微信公众号【小易哥学呀学】,如需转载请后台留言。
加微信入交流群。vx:17610015120

上一篇下一篇

猜你喜欢

热点阅读