linux – IPC通知进程更改参数
我创建了一个守护进程,它将数据从源目录复制到目标目录.
我把它命名为cpd(复制守护进程).它定期运行这个cp命令:cp src dest 但是如果我需要更改此cp命令执行的间隔,我应该如何与cpd守护进程通信? 例如:cpd -p 120 – >其中-p表示句点,120表示秒. PS:“我知道如何启动后台进程:创建一个子进程并退出父进程, Reference for daemon creation @保罗: # 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 <daemon-pid> 让守护进程在启动时将其PID写入/ var / run中的文件是很常见的,因此第二行将是 % kill -HUP `cat /var/run/mydaemon.pid` 如果你想要花哨并自动化,那么你可以为守护进程添加一些选项,使配置发生变化,然后发送信号(参见kill(2)). 另一点是信号USR1和USR2用于这种通信.如果您为HUP,USR1和USR2安装信号处理程序,那么您可以管理守护程序的三种不同类型的戳.这可能就是你所需要的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |