linux ipc 参数,linux – IPC通知进程更改参数

我创建了一个守护进程,它将数据从源目录复制到目标目录.

我把它命名为cpd(复制守护进程).它定期运行这个cp命令:cp src dest

但是如果我需要更改此cp命令执行的间隔,我应该如何与cpd守护进程通信?

例如:cpd -p 120 – >其中-p表示句点,120表示秒.

PS:“我知道如何启动后台进程:创建一个子进程并退出父进程,

设置新的会话ID,关闭继承的标准文件描述符,更改工作目录.创建守护程序的标准步骤.在执行每个命令后,我还使用syslog来记录状态消息.“

@保罗:

所以我需要一个如下所示的配置文件.当我在没有-d选项的情况下运行时,我应该通知守护进程读取此文件并相应地更改其变量,行为.是对的吗?

# Example configuration file for cpd - An test Linux daemon.

# Comments start with a # and are ignored.

# Configuration options are delimited by = and ;

# Example:

# arg=val;

verbose_logging_enabled=true;

daemon_enabled=false;

config_file_path=/etc/cpd.conf;

source_path=/home/Documents/Source;

destination_path=/home/Documents/Destination;

解决方法:

这取决于您希望与正在运行的守护程序进行通信的程度.

如果你想进行一次完整的对话,那么你将不得不考虑套接字,监听器和协议等等.这是相当多的工作.

但是,您的要求听起来很简单.在这种情况下,传统的做法是让你的守护进程为HUP安装一个信号处理程序(参见你的unix风格的sigaction或它的等价物).当程序收到该信号时,处理程序只是重新读取一个配置文件(或者更确切地说是一些导致守护进程以某种方式重新读取的东西).因此顺序是:

% vi .../my-daemon.config

% kill -HUP

让守护进程在启动时将其PID写入/ var / run中的文件是很常见的,因此第二行将是

% kill -HUP `cat /var/run/mydaemon.pid`

如果你想要花哨并自动化,那么你可以为守护进程添加一些选项,使配置发生变化,然后发送信号(参见kill(2)).

另一点是信号USR1和USR2用于这种通信.如果您为HUP,USR1和USR2安装信号处理程序,那么您可以管理守护程序的三种不同类型的戳.这可能就是你所需要的.

标签:unix,linux,terminal

来源: https://codeday.me/bug/20190609/1207439.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值