Como executo um comando do Windows como um serviço?

Como executo um comando do Windows como um serviço?

Estou usando o Windows 7. Eu executo este comando em um prompt de comando para iniciar um servidor memcached:

memcached.exe -d start

No entanto, gostaria de configurar as coisas para executar este comando automaticamente quando meu computador for reiniciado. Como faço para configurar isso?

Responder1

Caso o aplicativo não acesse a interface, você poderá fazê-lo através do agendador de tarefas. Configure o aplicativo para ser executado na inicialização a partir de uma conta de usuário que tenha acesso suficiente para executar o programa.

Fora disso, pesquise o Windows 2003 Resource Kit e, dentro dele, há dois programas srvany.exe e instsrv.exe que podem ser usados ​​para transformar um aplicativo em um serviço. O deve funcionar bem em máquinas com Windows 7.

Responder2

Existem algumas abordagens.

Recomendo usar o aplicativo "Service Control", pois ele se integra totalmente ao painel de controle services.msc, podendo ser executado por um usuário arbitrário e inicializado automaticamente com o sistema. Porém, isso pode causar problemas de tempo de carregamento, então talvez começar como "Automático (atrasado)" seja uma boa ideia, para garantir que os serviços necessários já foram carregados.

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

O Agendador de tarefas é outra boa opção, - como sugeriu @DavidPostill - se você não precisa que o sistema reconheça o exe como um serviço. O agendador de tarefas tem muitas opções de configuração boas.

Algumas pessoas recomendam gerenciadores de serviços alternativos como o NSSM:http://nssm.cc/

informação relacionada