![Запустить приложение командной строки как службу](https://rvso.com/image/1481893/%D0%97%D0%B0%D0%BF%D1%83%D1%81%D1%82%D0%B8%D1%82%D1%8C%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D0%BE%D0%B9%20%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B8%20%D0%BA%D0%B0%D0%BA%20%D1%81%D0%BB%D1%83%D0%B6%D0%B1%D1%83.png)
У меня есть exe-программа, и я хотел бы создать новую службу в системе WinNT. Эта программа представляет собой крошечный командный ftp-сервер.
Я попробовал эту команду:
sc create testFtp binPath="c:\ftpdmin.exe" start=auto
Это работает для создания сервиса, но когда я пытаюсь его запустить, я получаю таймаут. Может быть, потому что эта командная строка на самом деле не демон.
Есть ли способ избежать этой ошибки и запустить приложение командной строки в фоновом режиме?
решение1
Ваша служба не запускается (сообщаетошибка 1053), поскольку ваш исполняемый файл не является настоящей службой Windows и не может должным образом ответить на запрос запуска службы.
Вам придется использовать «сервисную оболочку» — промежуточную утилиту, которая может перехватывать вызовы запуска/остановки служб и выполнять соответствующие действия с вашим приложением.Бесплатный (и старый) Srvany от Microsoftвыполнит основную работу, но есть и другие бесплатные и коммерческие варианты.