В настоящее время я работаю над программным проектом, который позволяет удаленную установку через SSH. Я передаю небольшой установщик, а затем архив основного приложения. Установщик распакует переданный пакет, и я застреваю на той части, где я фактически хочу запустить приложение в фоновом режиме. В Linux все работает отлично снеткоманда и после некоторых исследований я обнаружил, что это обычно делается через команду start в Windows, но я не могу заставить ее работать. Если я запускаю start calc.exe в качестве теста, это работает, и процесс отображается в списке задач (хотя без графического интерфейса), но если я пытаюсь запустить свой собственный .exe с помощьюзапустить "" "app.exe" "-master"Я вообще не получаю никакой обратной связи. Есть ли надежные альтернативы команде start? Процесс должен быть независим от сеанса SSH, поскольку он должен выполняться в течение длительного времени. Кроме того, тест с start calc.exe был успешным только на удаленном хосте (виртуальная машина Windows 7). Если я попытаюсь воспроизвести результаты на локальном хосте (Windows), который я в основном использую для тестирования на данный момент из соображений удобства, он также не удался. Заранее спасибо.
решение1
Если у вас есть доступ по SSH к удаленному компьютеру Windows, создайте обратный туннель для RDP, как описано выше.здесьи войти в сеанс GUI обычным образом. Если вы не выйдете из системы, а просто завершите SSH-туннель или отключитесь от RDP без выхода из системы, то ваш сеанс будет активен со всеми запущенными вами там программами.
Если вы не можете настроить обратный туннель, вы можете использовать другое решение:
запустить программу в сеансе 0 через планировщик задач. Вы можете настроить свою задачу через терминал с помощью schtasks.exe
. В этом случае вы можете общаться с вашей программой только через IPC, цикл сообщений или через файлы