Java não está iniciando a partir do init ou do cron

0

Estamos iniciando um processo Java com o seguinte comando:

/usr/bin/java -classpath /home/somejavadaemon/Java/classes:/home/somejavadaemon/Java/classes/mail.jar:/home/somejavadaemon/Java/classes/commons-logging-1.2.jar:/home/somejavadaemon/Java/classes/httpclient-4.5.2.jar:/home/somejavadaemon/Java/classes/httpcore-4.4.4.jar core.Main configFile=/home/somejavadaemon/Java/config.cfg

Quando iniciado pelo shell do usuário ( somejavadaemon ), tudo está bem - o daemon está funcionando e fazendo o que é esperado.

Agora, queremos fazer isso a partir do arquivo de unidade do Systemd:

[Unit]
Description=somejavadaemon service
After=network-online.target
Wants=network-online.target systemd-networkd-wait-online.service

[Service]

User=somejavadaemon
Group=somejavadaemon

Environment=JAVA_HOME=/usr/lib/jvm/java-8-oracle
Environment=J2SDKDIR=/usr/lib/jvm/java-8-oracle
Environment=DERBY_HOME=/usr/lib/jvm/java-8-oracle/db
Environment=J2REDIR=/usr/lib/jvm/java-8-oracle/jre
Environment=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin

ExecStart=/usr/bin/java -classpath /home/somejavadaemon/Java/classes:/home/somejavadaemon/Java/classes/mail.jar:/home/somejavadaemon/Java/classes/commons-logging-1.2.jar:/home/somejavadaemon/Java/classes/httpclient-4.5.2.jar:/home/somejavadaemon/Java/classes/httpcore-4.4.4.jar core.Main configFile=/home/somejavadaemon/Java/config.cfg

[Install]
WantedBy=multi-user.target

Por contas do Systemd, o serviço é iniciado - o processo está na memória. No entanto, quando analiso seu status, vejo o seguinte: %código% Por que isso está acontecendo? Como está começando fora do Systemd diferente de começar do shell do usuário? É a mesma coisa com o cron, nós tentamos colocá-lo lá, para um sucesso similar.

    
por Equivalent TheIncredible 23.08.2017 / 20:27

0 respostas