2017-05-30 7 views
0

私はredisノードを起動するための簡単なバッチファイルを作成しました。バッチファイルをWindowsサービスとして実行しようとしています

@echo off 
start cmd.exe /k "cd C:\Users\cmguser\Desktop\7000 & redis-server ./redis.conf" 

このバッチファイルは、管理者としてcmdで実行している場合、正常に動作しています。このバットファイルをNSSM経由でWindowsサービスとして作成していますが、このサービスでは次のエラーが発生しています。 "Windowsはローカルコンピュータ上でサービスを開始できませんでした。サービスはエラーを返しませんでした。これはlinkと呼ばれます。

バッチファイルで管理者として実行するように言及する必要がありますか、上記の方法で他の問題がありますか?

はまた、私は、次のコマンドでサービスを作成しようとしたが、それは1053エラーがスローされました:

sc create service_name binpath=C:\Users\user\Desktop\redis_config_7000 start= auto 
+0

あなたの設定が不明です。 'redis_config_7000'をパスと呼んでいますが、バイナリファイルの別名バッチファイルはどこにありますか? –

+0

redis_config_7000は、赤いノードを作成するための最小限の設定だけです。はい、この場所に、私のバッチファイルがあります。 –

+0

多くのソリューションがあり、多くは無料で利用できます。 https://www.google.com/#q=run+batch+as+service – lit

答えて

2

窓のサービスとしてのRedisをインストールする正しい方法:

redis-server --service-install --service-name "[your desired service name]" "[full path to your redis conf]" 

を他の人が提案してきたようにredis.confには少なくとも最低限のパラメータが含まれていなければなりません。 default configでそれを試してみて、include


あたりのインスタンス固有の設定ファイルでデフォルトの設定を含めることで、より具体的な取得する別の方法が正しくsc createコマンドを使用することです:

SC CREATE [your desired service name] binpath= "\"C:\Program Files\Redis\redis-server.exe\" --service-run \"[full path to your config]\"" 

空白に注意してください。 binpath=の後に!

関連する問題