There are several possible reasons why the daemon continues to use the original configuration file even after it has been changed:
Failure to read new configuration file: If a daemon loads a configuration file during its startup and stores this data in memory or applies it statically, then even if the file is changed later, the daemon will still use the original version until it is restarted or reloads the configuration file .
Errors in the configuration reload process: If a daemon has a mechanism for reloading the configuration at runtime (for example, via the SIGHUP signal), but this mechanism does not work correctly or has not been configured correctly, the daemon may still use the original configuration even after it has been changed.
The configuration file is locked by another process: If the configuration file is being used by another process and is locked in exclusive mode (e.g., when another program is editing the file), the daemon may have trouble reading the changed data until the file is freed.
Errors in the daemon implementation: In some cases, errors in the daemon source code itself can cause the daemon to not respond correctly to changes to the configuration file or to not reload the configuration as it should.
Configuration data cache: Some daemons may use a cache for configuration data, which means that even though the configuration file is changed, these changes are not immediately reflected in the daemon's operation until the cache is cleared or reloaded.
The solution to the problem depends on the specifics of the daemon and its configuration. In some cases, restarting the daemon may be enough; in other cases, you may need to modify the daemon configuration or fix errors in the source code.