在运行时期间将shell中已知值传递给C二进制应用程序的最佳解决方案是什么?
C应用程序与第三方产品通信并向其发送实际设置.但是一些设置在OS中直接更改,所以我想使用shell中的一些命令来影响,更改C应用程序中的这些变量.
你知道实现它的一些方法(使用变量,管道,或者其他不同的东西)?
我查看了全局变量,但即使我更改了全局变量值,它对于一直运行的C应用程序也没有影响.(我使用了函数getenv()).
Unix中大多数长时间运行的进程(aka.守护进程)都有某种配置文件(例如/etc/mydaemon.conf),它们可以读取(并评估)
HUP信号时因此,最简单和众所周知的方法是在C app中安装信号处理程序并捕获SIGHUP信号.这当然需要更改C app.
为了触发你可以使用shell重读一个下列命令:
kill -HUP PID_OF_MY_PROCESS
pkill -HUP name_of_my_process
Run Code Online (Sandbox Code Playgroud)