Thomas Wollner <tw@wollner-net.de> writes:
in 3.1.3 this was a valid config statement:
destination d_raw_firewall_sec { program("`/opt/sec/bin/secStart firewall`" template(t_sec_template)); };
Have a look at the backticks inside the program.
After changing /bin/dash nach /bin/bash everything worked fine.
in 3.3.3. I have to change from backtick to $(...) style:
destination d_raw_firewall_sec { program("$(/opt/sec/bin/secStart firewall)" template(t_sec_template)); };
This works, but upon restart / reload of syslog-ng the "old" spawned scripts are not receiving the kill / term / hup signals and stay in the process list of the system until killed manually.
The backtick thing is intended, I'm afraid: in syslog-ng 3.3, ` is used by the configuration parser, therefore, you can't use it as you did before. I don't think such usage was anticipated, otherwise this change would've been mentioned in the NEWS file. The solution is to use $(...) instead - that's supported by all POSIX compliant shells I know of, and even some others. As for the zombie processes, that's an unrelated thing, and a bug indeed, one which I'm working on. -- |8]