web-dev-qa-db-ja.com

Windowsコマンドをサービスとして実行するにはどうすればよいですか?

私はWindows7を使用しています。このコマンドをコマンドプロンプトで実行して、memcachedサーバーを起動します...

memcached.exe -d start

ただし、コンピュータの再起動時にこのコマンドを自動的に実行するように設定する必要があります。どうすれば設定できますか?

3
Dave

いくつかのアプローチがあります。 「ServiceControl」アプリケーションを使用することをお勧めします。これは、services.mscコントロールパネルと完全に統合されているため、任意のユーザーで実行でき、システムで自動起動できます。ただし、ロード時間の問題が発生する可能性があるため、必要なサービスがすでにロードされていることを確認するために、「自動(遅延)」として開始することをお勧めします。

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

@DavidPostillが提案したように、タスクスケジューラはもう1つの優れたオプションです。 exeをサービスとして認識するためにシステムが必要ない場合。タスクスケジューラには、多くの優れた構成オプションがあります。

NSSMのような代替サービスマネージャーを推奨する人もいます: http://nssm.cc/

1
Frank Thomas

アプリケーションがインターフェイスにアクセスしない場合は、タスクスケジューラを介してアクセスできます。プログラムを実行するのに十分なアクセス権を持つユーザーアカウントから起動時に実行するようにアプリケーションを設定します。

それ以外では、Windows 2003 Resource Kitを検索します。その中には、アプリをサービスにするために使用できる2つのプログラムsrvany.exeとinstsrv.exeがあります。はWindows7マシンで正常に動作するはずです。

0
Kevin