On Feb 3, 2016, at 10:30 AM, Ricardo J. Barberis ricardo@palmtx.com.ar wrote:
El Miércoles 03/02/2016, Warren Young escribió:
Again, I don’t know why they couldn’t just do it with links.
I guess that's probably to execute scripts and "hide" the name of the interpreter, e.g.:
I get why second-rate programmers would care to do that, but what I don’t get is why systemd would need a feature to support that wish.
No, I suspect the real reason systemd needs to support this is to work around someone’s broken argv[0] parsing. For instance, there may be a program that assumes it is always started through the PATH, so argv[0] never contains slashes. But, systemd only works with absolute paths for security, so rather than fix the broken program, they added a feature to systemd that lets it lie to the broken program, supplying the program’s basename in argv[0] even though it was started via an absolute path.
Just a guess, of course.
I notice that none of the service files on my main EL7 box use this leading-@ feature.