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