nssmを使ってrtm-namingやRTCをサービス化する方法


久々にRTMのチップを書きます.Windowsの話.もちろん,自己責任で試してね.Windows10 x64で試してます.


いつもStart C++ Naming Serviceとかを実行するの面倒ですよね?
スタートアップフォルダに入れるのもよいですが,Windowsであればサービス化することで,プロセスが落ちても自動的に再起動させることができます.

これを使えばrtm-namingや,WindowsがインストールされているPCのロボットを電源投入だけでRTCを起動することができます.バッチファイルも実行できますから,rtm-naming.batを使えます.

nssmを使う

方法としてはnssmというツールを使います.

nssm

Downloadからlatest Releaseをダウンロードすると,nssm**.zipがダウンロードされます.展開すると,x86, x64などのフォルダにnssm.exeが入っています.
これをPATHが通っているフォルダに置きます.

僕は%HOMEPATH%\binというフォルダを作って,そこにこういうツールを突っ込んでます.もちろん,システムの詳細設定から環境変数のところにPATHを%HOMEPATH%\binとすれば使えるようになります.

これくらいの説明でわからない人は,こういうツールを使わないほうがいいです.もうちょっと面倒な思いを我慢するか,上記のキーワードすべてについてよく調べてから使ってください.

管理者のプロンプトを開いて

nssm install rtm_naming

と実行すると,GUIが開きます.Applicationタブで実行形式 (exe, bat) へのPATHとカレントディレクトリ,引数を設定するだけです.

再起動すれば完了.

タスクマネージャでomniNamesのプロセスを停止すると即座に再起動されます.

nssm stop rtm_naming

でサービスを停止できます.

nssm remove rtm_naming

でサービスを削除できます.

もちろん,ローカルサービスの設定,というWindowsのデフォルトのツールで細かい設定をすることもできます.

Windowsは便利.というMacユーザでした.