> pokud něco bastlí pro produkci,
A to je prave ono - ze se to musi bastlit a ani takova zakladni vec, jako rizeni procesu / uzivatelu neni resena v ramci upstartu.
Pokud by pouzili systemd (nebo cokoliv jineho, to neni zadna super feature tohle - daemon tools by to zvladli tez, stejne tak jako jakykoliv jiny rozumny service manager), tak by proste napsali neco ala:
...
[service]
Type=simple
User=xxx
Group=xxx
Environment=JAVA_HOME=/usr/java/jdk1.8
ExecStart=/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties
ExecStop=/opt/kafka/bin/zookeeper-server-stop.sh
...
A tenhle problem by se nikdy nestal.
Ale kdyz i pro takove triviality service manager nuti administratora bastlit, tak je to samozrejme zasadni problem.