Windows 명령을 서비스로 실행하려면 어떻게 해야 합니까?

Windows 명령을 서비스로 실행하려면 어떻게 해야 합니까?

저는 Windows 7을 사용하고 있습니다. 명령 프롬프트에서 다음 명령을 실행하여 memcached 서버를 시작합니다.

memcached.exe -d start

그러나 컴퓨터가 다시 시작될 때 이 명령이 자동으로 실행되도록 설정하고 싶습니다. 어떻게 설정하나요?

답변1

애플리케이션이 인터페이스에 액세스하지 않는 경우 작업 스케줄러를 통해 액세스할 수 있습니다. 프로그램을 실행할 수 있는 충분한 액세스 권한이 있는 사용자 계정에서 부팅 시 애플리케이션이 실행되도록 설정합니다.

그 외에 Windows 2003 Resource Kit를 검색하면 그 안에 앱을 서비스로 만드는 데 사용할 수 있는 두 개의 프로그램 srvany.exe 및 instsrv.exe가 있습니다. Windows 7 컴퓨터에서는 제대로 실행됩니다.

답변2

몇 가지 접근 방식이 있습니다.

"Service Control" 애플리케이션을 사용하는 것이 좋습니다. 왜냐하면 이 애플리케이션은 services.msc 제어판과 완전히 통합되어 임의의 사용자로 실행되고 시스템과 함께 자동으로 시작될 수 있기 때문입니다. 그러나 로드 시간 문제가 발생할 수 있으므로 필요한 서비스가 이미 로드되었는지 확인하기 위해 "자동(지연)"으로 시작하는 것이 좋습니다.

sc \\localhost create <newservicename> binpath= c:\path\to\service.exe

작업 스케줄러는 @DavidPostill이 제안한 것처럼 시스템이 exe를 서비스로 인식할 필요가 없는 경우 또 다른 좋은 옵션입니다. 작업 스케줄러에는 좋은 구성 옵션이 많이 있습니다.

일부 사람들은 NSSM과 같은 대체 서비스 관리자를 추천합니다.http://nssm.cc/

관련 정보