Make writing the pid file optional
This commit is contained in:
parent
f528d92030
commit
9b527e172d
@ -3,8 +3,7 @@
|
||||
##
|
||||
|
||||
# Where to write/find the agent PID
|
||||
#pid_file=/tmt/pgmon.pid
|
||||
pid_file=/run/pgmon/pgmon.pid
|
||||
#pid_file=
|
||||
|
||||
##
|
||||
# Agent communication settings
|
||||
@ -12,7 +11,6 @@ pid_file=/run/pgmon/pgmon.pid
|
||||
|
||||
# IPC socket
|
||||
#ipc_socket=/tmp/pgmon.sock
|
||||
ipc_socket=/run/pgmon/pgmon.sock
|
||||
|
||||
# IPC communication timeout (s)
|
||||
#ipc_timeout=10
|
||||
|
||||
@ -10,12 +10,12 @@ PID_FILE="/run/pgmon/${agent_name}.pid"
|
||||
LOG_FILE="/var/log/${agent_name}.log"
|
||||
SOCKET="/var/run/${agent_name}.socket"
|
||||
|
||||
command="/usr/bin/pgmon"
|
||||
command_args="--server -c '$CONFIG_FILE' -l '$LOG_FILE' -p '$PID_FILE' -s '$SOCKET'"
|
||||
command_user="zabbix:zabbix"
|
||||
|
||||
pidfile="$PID_FILE"
|
||||
|
||||
command_background="/usr/bin/pgmon"
|
||||
command_args="--server -c '$CONFIG_FILE' -l '$LOG_FILE' -s '$SOCKET'"
|
||||
command_user="zabbix:zabbix"
|
||||
|
||||
start_pre() {
|
||||
checkpath -d -m 0755 -o "${command_user}" "/run/pgmon"
|
||||
checkpath -d -m 0755 -o "${command_user}" "/var/log/pgmon"
|
||||
|
||||
13
pgmon.py
13
pgmon.py
@ -129,15 +129,20 @@ def init_logging(config):
|
||||
# PID file handling
|
||||
#
|
||||
def write_pid_file(pid_file):
|
||||
with open(pid_file, 'w') as f:
|
||||
f.write("{}".format(os.getpid()))
|
||||
if pid_file is not None:
|
||||
with open(pid_file, 'w') as f:
|
||||
f.write("{}".format(os.getpid()))
|
||||
|
||||
def read_pid_file(pid_file):
|
||||
if pid_file is None:
|
||||
raise RuntimeError("No PID file specified")
|
||||
|
||||
with open(pid_file, 'r') as f:
|
||||
return int(f.read().strip())
|
||||
|
||||
def remove_pid_file(pid_file):
|
||||
os.unlink(pid_file)
|
||||
if pid_file is not None:
|
||||
os.unlink(pid_file)
|
||||
|
||||
|
||||
#
|
||||
@ -198,7 +203,7 @@ class Config:
|
||||
"""
|
||||
def __init__(self, args, read_metrics = True, read_clusters = True):
|
||||
# Set defaults
|
||||
self.pid_file = 'pgmon.pid' # PID file
|
||||
self.pid_file = None # PID file
|
||||
|
||||
self.ipc_socket = 'pgmon.sock' # IPC socket
|
||||
self.ipc_timeout = 10 # IPC communication timeout (s)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user