配置项概述 #
pidfile 配置项指定节点进程 ID(PID)文件的存储路径,用于进程管理和监控。
| 配置项 | 默认值 | 说明 |
|---|---|---|
pidfile | “"(空) | PID 文件路径 |
配置说明 #
pidfile #
配置项作用:指定节点进程 ID 文件的存储位置。PID 文件包含运行中节点的进程 ID,便于进程管理工具定位和控制节点进程。
默认值:""(空字符串,不创建 PID 文件)
配置类型:静态配置
取值范围:有效的文件系统路径
配置格式:
# 默认配置:不创建 PID 文件
pidfile: ""
# 指定路径
pidfile: /var/run/easysearch/easysearch.pid
# 使用相对路径
pidfile: ./pid
使用场景 #
不创建 PID 文件(默认) #
# 默认配置
pidfile: ""
适用场景:
- 开发环境
- 使用 systemd 管理
- 使用其他进程管理机制
标准位置 #
# Linux 标准位置
pidfile: /var/run/easysearch/pid
适用场景:
- 生产环境
- 使用 init 脚本管理
- 与其他系统服务集成
自定义位置 #
# 自定义路径
pidfile: /opt/easysearch/run/easysearch.pid
适用场景:
- 非标准安装
- 多实例部署
- 特定目录结构
与系统集成 #
systemd 服务 #
# /etc/systemd/system/easysearch.service
[Service]
PIDFile=/var/run/easysearch/easysearch.pid
ExecStart=/usr/share/easysearch/bin/easysearch -p /var/lib/easysearch
Init 脚本 #
#!/bin/bash
# /etc/init.d/easysearch
PIDFILE=/var/run/easysearch/easysearch.pid
start() {
echo -n "Starting Easysearch: "
/usr/share/easysearch/bin/easysearch -d -p $PIDFILE
}
Docker #
# docker-compose.yml
services:
easysearch:
image: infinilabs/easysearch:latest
volumes:
- ./pid:/var/run/easysearch
# easysearch.yml
pidfile: /var/run/easysearch/easysearch.pid
进程管理 #
使用 PID 文件 #
# 读取进程 ID
cat /var/run/easysearch/easysearch.pid
# 输出: 12345
# 检查进程是否运行
ps -p $(cat /var/run/easysearch/easysearch.pid)
# 停止进程
kill $(cat /var/run/easysearch/easysearch.pid)
# 优雅停止
kill -TERM $(cat /var/run/easysearch/easysearch.pid)
推荐配置 #
生产环境(systemd) #
pidfile: /var/run/easysearch/easysearch.pid
生产环境(init) #
pidfile: /var/run/easysearch/pid
容器环境 #
# 通常不需要 PID 文件
pidfile: ""
多实例环境 #
# 实例 1
pidfile: /var/run/easysearch/node1.pid
# 实例 2
pidfile: /var/run/easysearch/node2.pid
注意事项 #
- 目录权限:确保指定目录存在且可写
- 文件覆盖:节点启动时会覆盖已存在的 PID 文件
- 文件清理:节点异常退出时 PID 文件可能残留
- 多实例:每个实例需要不同的 PID 文件路径
- 重启生效:修改此配置需要重启节点





