Настоящий новичок к Linux и серверам. У меня есть программа, которую мне нравится запускать на начальной загрузке.
Выполнение программы в ее папке хорошо работает. Попытка выполнить программу от за пределами папки установки производит несколько ошибок как файл конфигурации, не найденный, папка языка, не найденная и так далее.
22:06:24> Error: there was an error loading languages. Please check your language folder.
22:06:24> Loading configuration.
22:06:24> ENOENT: no such file or directory, open 'config.default.json'
22:06:24> Error: config.default.json is broken or missing. Shutting down.
Мне нравится использовать что-то как
[Service]
ExecStart=/home/xxx/yyy/zzz/startkmr1
но это не работает.
[Service]
ExecStart=/home/xxx/yyy/zzz/./startkmr1
не работает также.
Мне нравится запускать программу как услуга от начальной загрузки.
Если я нахожусь в каталоге startkmr1 и выполняюсь ./startkmr1
, это работает. Любая справка, очень ценившая.
Когда у Вас есть исполняемый файл, который смотрит в рабочем каталоге для конфигурации, данных или файлов библиотеки, и Вы хотите выполнить его как услуга, можно установить рабочий каталог в сервисном файле с WorkingDirectory
директива.
Можно найти информацию об этом и других директивах в systemd.service
страница справочника.