棒読みちゃんの起動失敗時にパソコンの再起動をせず対応する手順

2020年3月4日

漢字を含む日本語の文章を音声合成で読み上げてくれるツールである「棒読みちゃん」。

大変便利なツールですが、稀に起動に失敗して以下の様なエラーが表示されます。

TCPサーバを開始できませんでした(Port50001)

 

このエラーが表示されると、棒読みちゃんを終了させて再び起動しても

同じエラーが繰り返し表示され、基本、パソコン自体を再起動しないと

解決しません。

 

でも一つのツールのためにパソコン自体を再起動させるのは正直面倒ですよね?

パソコンがちょっと古かったりすると起動自体に時間がかかる場合もあります。

 

今回はパソコンを再起動することなく、棒読みちゃんだけ再起動する手順を紹介します。

 

棒読みちゃんの再起動手順

棒読みちゃんが使おうとしているポートを確認する

棒読みちゃんが使おうとしているポートは前述したとおり「50001」番です。

 

棒読みちゃんは50001番ポートを使おうとしたけど使えなかった訳です。

つまり棒読みちゃんを邪魔して50001番ポートを使おうとしている

他のプロセスを消してしまえば、棒読みちゃんは起動します。

 

コマンドプロンプトを管理者モードで起動

検索バーに「コマンド」と入力するとコマンドプロンプトが表示されるので

右クリックして「管理者として実行」をクリックします。

 

ポートを使用しているプロセスIDを確認する

50001番ポートを使っているプロセスIDを確認しましょう。

コマンドプロンプトに以下のコマンドを入力してEnterします。

netstat -aon | find "50001"

すると以下のように結果が表示されます

TCP 192.168.0.100:50001 ***.***.***.***:443 ESTABLISHED 5976

末尾の数字が50001番ポートを使っているプロセスIDです。

 

ポートを使用しているプロセスをキルする

コマンドプロンプトに以下のコマンドを入力してEnterします。

taskkill /f /pid 5976
成功: PID 5976 のプロセスは強制終了されました。

プロセスをキルできたので、これで棒読みちゃんが起動できるようになります。

 

上記のプロセスキル手順をほぼ自動で行うパッチ

@ECHO ON
set /p portid=Enter the Bouyomichan port:
echo %portid%
FOR /F "tokens=5" %%T IN ('netstat -ano ^| findstr %portid% ') DO (
SET /A ProcessId=%%T)
echo %ProcessId%
taskkill /f /pid %ProcessId%
PAUSE

Windowsのメモ帳を開いて、上記文字列をそのままコピペ。

ファイル > 名前をつけて保存 > ファイルの種類:すべてのファイルにして、***.batという名前で保存。

(***の部分は何でもOKです)

保存した***.batを実行すると、Enter the Bouyomichan portと表示されるので、

棒読みちゃんでエラー表示された時のポート番号を入力してEnterすると該当プロセスをキルしてくれます。

 

今回は以上となります。

正直、慣れるまでは普通にパソコンを再起動した方が早いと思いますが…、

ただ操作に慣れてくるとこちらの方が早く棒読みちゃんを起動できるようになると思います。