Рейтинг:0

Linux делает исполняемый файл внутри службы

флаг ch

У меня есть сервис, который выглядит так:

[Ед. изм]
Описание=служба среды API

[Оказание услуг]
Рабочий каталог=/var/www/api
ExecStart=/var/www/api/api
Перезапустить = всегда
# Перезапустите службу через 10 секунд, если произойдет сбой службы dotnet:
Рестартсек=10
KillSignal=SIGINT
SyslogIdentifier=dotnet-пример
Пользователь = апач
Среда=ASPNETCORE_ENVIRONMENT=Производство 

[Установить]

Сервис работает, но каждый раз, когда я копирую новые файлы в эту папку через ftp, мне нужно запустить sudo chmod +x /var/www/api/api сделать этот файл исполняемым, а затем сделать sudo systemctl перезапустить api.service

Мой вопрос: можно ли каким-то образом добавить строку поверх этой службы, которая сделает этот файл исполняемым, если это не так, поэтому мне нужно только запустить команду перезапуска?

Michael Hampton avatar
флаг cz
Ваш FTP-клиент уже должен сделать его исполняемым для вас.
Aleksa Ristic avatar
флаг ch
Нет, это не так. Я пробовал удалять все, снова добавлять файлы и перезапускать службу, но это не работает. Затем я делаю его исполняемым и перезапускаю сервис, и он действительно работает.
George Y avatar
флаг vn
Я могу решить только часть вашей проблемы - не запускайте исполняемый файл напрямую, а запускайте bash-скрипт, который его запускает. Поэтому даже вам нужно повторно ввести chmod +x /var/www/api/api, вам не нужно перезапускать службу.
флаг in
После @GeorgeY. Например, если двоичный файл `api` является `python`, замените `ExecStart=/var/www/api/api` на `ExecStart=/bin/bash -c "/usr/bin/python3 /var/www/api/api. "` так что вам не нужно иметь исполняемый файл.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.