我创建了一个
Linux守护进程(用C语言),通过UDP将某些信息发送到另一台计算机.它当然需要远程IP地址和端口号.我将这个守护进程存储在/usr/local / bin /中,我还在/etc/init.d/中创建了一个脚本来启动|停止|重启守护进程.
到目前为止,IP地址和端口号直接由脚本传递给守护进程.例如,脚本的start()部分如下所示:
start() { /usr/local/bin/lvsload_udp_s 192.168.122.25 47239 }
因此,当远程IP和/或端口号发生变化时,我必须修改我的脚本,而不是修改某些配置文件.我知道,这是一种不好的做法.
将参数传递给我的守护进程的最佳方法是什么?谢谢
解决方法
为什么你认为命令行参数不好?
配置文件是额外的工作,因为您需要解析它们.继续您的示例,修改配置文件=修改一个文件.修改脚本=修改一个文件.当你只有少量的论点时,似乎没什么区别.你甚至可以将参数粘贴到脚本顶部的变量中,这使得它几乎就像一个配置文件:-)有些脚本甚至会提供这样的“变量设置脚本”,所以它看起来真的像配置文件.
如果你能找到命令行参数不好的原因,那么你很可能也知道要使用什么.另一方面,如果你甚至无法解释为什么命令行参数不好,那么使用它们可能没什么问题……