Запустите самостоятельное обновление в фоновом режиме в LinuxLinux

Ответить
Anonymous
 Запустите самостоятельное обновление в фоновом режиме в Linux

Сообщение Anonymous »

Мое .NET-приложение работает в Linux (обычно Raspberry Pi) и устанавливается как пакет Debian. Теперь приложение сможет обновляться самостоятельно, когда оно получит на это сетевую команду. Вероятно, это сложная задача, поскольку внешний сценарий обновления выполняет следующие действия:
  • загружает текущий файл пакета Debian из Интернета (это может занять несколько минут)< /li>
    запустите apt-get install, чтобы установить загруженный файл пакета со всеми опциями, чтобы не останавливаться и не задавать вопросы.
  • удалить загруженный файл файл пакета
Этот сценарий обновления уже существует и отлично работает при интерактивном запуске из локальной оболочки. Теперь он будет запускаться самим приложением в неинтерактивном режиме.
В рамках сценариев пакета сама служба приложения будет завершена, а затем перезапущена. Таким образом, приложение не может дождаться завершения обновления, потому что оно не доживает до этого момента.
Если я просто запускаю новый процесс, я не могу его дождаться. Будет ли он продолжать работать после завершения стартового (родительского) процесса? Нужно ли мне как-то запускать сценарий обновления в фоновом режиме, используя команду & или systemd-run с некоторыми аргументами?
Это моя простая отправная точка:
var psi = new ProcessStartInfo
{
FileName = "/usr/local/bin/upgrade-app.sh",
CreateNoWindow = true
};
var process = Process.Start(psi);


Подробнее здесь: https://stackoverflow.com/questions/788 ... d-on-linux
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»