У меня была ошибка ядра в модуле Bluetooth, представленная в ядре 4.1 и исправленная в выпуске 4.1.7.
Поскольку вы упомянули Ubuntu, большинство новых версий теперь поддерживают systemd. Чтобы настроить что-то подобное с помощью systemd, вы должны создать файл модуля systemd, а затем включить его.
Сначала решите, где вы хотите разместить свое программное обеспечение. Я бы рекомендовал /opt/core-price-update
.
Примерно так:
$ tree /opt/menu-core-prices-update/
/opt/menu-core-prices-update/
├── application.conf
└── menu-core-prices-update-0.0.1-SNAPSHOT.jar
0 directories, 2 files
Затем создайте файл модуля systemd, подобный этому:
$ cat /etc/systemd/system/menu-core-prices-update.service
[Unit]
Description=Menu Core Prices Update Daemon
After=network.target
[Service]
Environment="APP_CP=/opt/menu-core-price-update"
Environment="JAVA_HOME=/usr/java/latest"
Environment="APP_NAME=com.myapps.MenuCorePriceUpdate"
Environment="APP_NAME_JPROP=appname=menu-core-price-update"
Environment="CONFIG_FILE=/opt/menu-core-price-update/application.conf"
Environment="LOGPATH=/var/log/menu-core-price-update"
ExecStartPre=/bin/mkdir -pm 0755 ${LOGPATH}
ExecStart=/bin/bash -c "$JAVA_HOME/bin/java -D${APP_NAME_JPROP} -cp ${APP_CP} ${APP_NAME}"
PIDFile=/run/core-price-update/menu-core-price-update%i.pid
Restart=on-abort
RuntimeDirectory=menu-core-price-update
RuntimeDirectoryMode=755
WorkingDirectory=/opt/menu-core-price-update
[Install]
WantedBy=multi-user.target
Чтобы эта служба работала между перезагрузками:
$ sudo systemctl enable --now menu-core-prices-update