Quando systemd
executa seu script, ele fornecerá apenas um ambiente muito limitado. Em particular, ele não configurará HOME
nem USER
, nem alterará o diretório para /home/root
. Talvez o seu TestApp dependa de um desses. Tente defini-las explicitamente em startup.sh
, incluindo cd
no diretório correto. Minha versão do systemd apenas define:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
LANG=en_US.UTF-8
e o diretório atual para /
. Você também pode fornecer variáveis de ambiente na seção [Service]
com, por exemplo:
Environment=HOME=/home/root USER=root
mas observe que as variáveis do shell não são expandidas, portanto você não pode usar isso para definir o caminho, por exemplo, com PATH=/opt/bin:$PATH
.