Как на Golang передать значения другой программе?

Есть запущенный exe файл на golang на удалённом компьютере. В момент обновления мне нужно с другой программы(на том же компьютере) подать команду этому процессу- "закройся", после чего он закрывается и копируется новый exe и потом он запускается. Как мне передать значение программе и потом открыть файл?
  • Вопрос задан
  • 421 просмотр
Решения вопроса 1
@abcyu
Разработчик
Правильный вариант - оформлять программу в виде сервиса/демона с использованием этого https://github.com/takama/daemon или аналогичных пакетов.
Тушить её средствами управления сервисами/демонами. Есть даже готовые системы которые именно этим и занимаются - останавливают программу, обновляют, запускают.

Чисто - как передать команду: простейший TCP/IP, а удобнее даже http. Для Go это легко сделать с помощью пакета net/http. Словив HTTP GET (который легко подать curl, wget или встроить в свою утилиту обновления) по определенному URL, написанный вами, HttpHandler должен будет корректно завершить программу. К пакету net/http есть множество иллюстраций, примеров, документации.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Olej
@Olej
инженер, программист, преподаватель
Ваш вопрос не имеет отношения ни к Go, ни к программам вообще, ни к какой "передаче значения программе"...
Это вопросы удалённого доступа, вам нужно: 1). остановить процесс, 2). скопировать файл, 3). запустить программу, все 3 позиции независимы друг от друга.
Такие вещи элементарно делаются средствами протокола SSH.
Вы не пишете какая у вас ОС ... но судя по .exe - Windows.
Ответ написан
Комментировать
Вы же сами ответили на свой вопрос: "мне нужно подать команду этому процессу". Именно так: вам нужно подать команду этому процессу. Средствами ОС, к примеру
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы