プロンプト:National InstrumentsのLabVIEWをインストールしたら、MOINMOINが立ち上がらなくなったんだけど、何かポートをふさいでるとかPIDが干渉してるかだと思うんだけど。以前も同じ症状を経験していて、毎回タスクマネジャーでNIの何かを停止してたんだよね?根本的な解決方法ない?
ChatGPT5:
ありそうな原因は「NIのWeb系サービスがポート80/443(や8080)を占有 → MoinMoinの内蔵サーバやApache/IISが起動できない」です。毎回タスクマネージャで止めていた“NIの何か”は、おそらく NI System/Application Web Server(Apache系) か LabVIEW Web Server です。根本対策は「どちらかのポートを恒久的にずらす」か「不要ならNIの該当サービスを自動起動させない」こと。以下、再現性のある手順をまとめます。
まず原因を特定(どのポートを誰が掴んでいるか)
-
PowerShellを管理者で開く
Get-NetTCPConnection -State Listen |
Sort-Object LocalPort |
Format-Table LocalAddress,LocalPort,OwningProcess -Auto
例えば LocalPort 80
の OwningProcess
(PID)がわかったら:
tasklist /fi “PID eq <PID>”
tasklist /svc /fi “PID eq <PID>” # どのサービス名かも確認
NI関連サービスの一覧と状態を確認:
Get-Service *ni* | Sort-Object Status,DisplayName | Format-Table Status,Name,DisplayName
よく衝突するNIサービス(例)
-
NI System Web Server / NI Application Web Server(Apacheベース)…既定で 80/443 を使用
-
NI Web-Based Configuration & Monitoring … 3580(設定UI用)
-
LabVIEW Web Server … 80/443
-
NI PSP Service Locator … 2343(MoinMoinとは衝突しにくい)
根本対策の選択肢(おすすめ順)
A. NI側のWebサーバの自動起動を止める(使っていなければ最も簡単)
-
サービス管理(
services.msc
)で以下を 「無効」 に設定(必要に応じて)-
NI System Web Server(または NI Application Web Server)
-
LabVIEW Web Server(存在する場合)
-
-
すぐに止める場合はPowerShellで:
Stop-Service -Name “NI System Web Server” -Force
Set-Service -Name “NI System Web Server” -StartupType Disabled
# 旧版なら “NI Application Web Server” / “LabVIEW Web Server” も同様に
→ NIのWebベース設定ページやWebVIを使わないならこれで解決します。
B. NI側のリッスンポートを恒久的に変更(NIのWeb機能を使う場合)
-
NIのApache設定ファイルの Listen 80 / Listen 443 を、空いているポート(例:8085/4443)へ変更してから、サービスを再起動。
例)C:\Program Files\National Instruments\Shared\NIWebServer\conf\httpd.conf
(環境やバージョンで場所名は多少異なります) -
あるいは NI の「Web-Based Configuration & Monitoring」(既定 http://localhost:3580/ )からポート設定を変更できる版もあります。
-
変更後:
Restart-Service “NI System Web Server”
C. MoinMoin側のポートを変更(スタンドアロン起動時)
-
wikiserverconfig.py
(MoinMoin 1.9系のstandalone)でport = 8000
を 8081 などに変更。 -
既にApache/IIS配下で動かしている場合は、そちらのバインド(httpd.conf の Listen や IIS のバインド)をずらす方法でもOK。
実務上のワンポイント
-
常時使う方を優先:普段MoinMoinを主に使い、NIのWeb機能は不要→Aを強く推奨。
-
両方使う:NIのWebは8085/4443に避難、MoinMoin/社内Apacheは80/443を確保、が運用しやすいです。
-
再発防止:NIアップデートで設定が戻ることがあるので、変更手順をメモ化。Windowsの起動後に自動でNI Web Serverを止めるスクリプトをタスクスケジューラに入れるのも現実解です(例:
Stop-Service "NI System Web Server"
を起動時に実行)。
すぐ試せる最短コマンド(暫定復旧)
管理者PowerShellで:
Stop-Service “NI System Web Server” -Force
Stop-Service “NI Application Web Server” -Force # 存在すれば
Stop-Service “LabVIEW Web Server” -Force # 存在すれば
→ これでMoinMoinが立ち上がるか確認。問題なければAまたはB/Cで恒久対応してください。
必要なら、あなたの環境で実際に使われているポート/PIDを一緒に洗い出して、どのサービスをどう設定変更するのが最短か、具体的なコマンド列まで落とし込みます。
プロンプト:PowerShell って何?どうやって起動?
ChatGPT5:
PowerShell(パワーシェル)は、Windowsに標準で入っている「コマンド実行ツール(シェル)」です。昔の「コマンドプロンプト(黒い画面)」の強化版みたいなもの、と考えるとわかりやすいです。サービスの開始/停止やポートの調査を簡単にできます。
起動方法(どれでもOK)
-
スタートメニューから
-
左下の「スタート」ボタンを押す
-
検索窓に PowerShell と入力
-
出てきた「Windows PowerShell」をクリック
-
必要なら「管理者として実行」を選ぶ(右クリックで出ます)
-
-
Windowsキー + X メニュー
-
キーボードで Windowsキー + X を押す
-
「Windows PowerShell(管理者)」をクリック
-
-
タスクマネージャーから
-
Ctrl + Shift + Esc でタスクマネージャーを開く
-
「ファイル」→「新しいタスクの実行」
-
powershell
と入力してOK -
「管理者権限で作成する」にチェックを入れると管理者で起動できます
-
見た目
青い画面(黒の場合もあり)に白文字で入力できるウィンドウが出ます。ここで先ほどの
Stop-Service “NI System Web Server” -Force
確認ですが、LabVIEW側の Webサーバ機能(NI System Web Serverなど) は普段使っていますか?
もし全然使っていないなら「サービスを無効化」してしまうのが一番スッキリ解決しますよ。
プロンプト:
> Format-Table LocalAddress,LocalPort,OwningProcess -Auto LocalAddress LocalPort OwningProcess ———— ——— ————- :: (以下略)
ChatGPT 5:
ナイス!この一覧だと 8080 を PID 5612 が掴んでいるので、MoinMoin(スタンドアロンの既定ポート=8080)が起動できないのが原因っぽいです。まずは PID 5612 が何者か を特定して止めましょう。おそらく NI 系サービスです(同じ PID 5612 が 6666 も掴んでいるのもヒント)。2343 を掴んでいる PID 5428 は NI PSP Service Locator なので、NI 一式が動いています。
1) 5612 の正体を確認(管理者 PowerShell)
tasklist /fi “PID eq 5612”
tasklist /svc /fi “PID eq 5612” # どのサービス名かを表示
Get-CimInstance Win32_Service -Filter “ProcessId=5612” | Select Name,DisplayName,State,StartMode
↑ ここで Name / DisplayName(例:NI Application Web Server
や NI System Web Server
など)が分かります。
2) いったん止めて復旧(即効)
サービス名が分かったら:
Stop-Service “<サービス名>” -Force
もしサービス名が不明でもとにかく止めたいなら(暫定):
Stop-Process -Id 5612 -Force
→ これで MoinMoin が起動するか確認してください。
3) 根本対策(どれか一つ)
A. NI 側を自動起動させない(NI の Web 機能を使っていなければ推奨)
# 例:実際のサービス名は手元の結果に合わせて置き換えてください
Set-Service “NI Application Web Server” -StartupType Disabled
Set-Service “NI System Web Server” -StartupType Disabled
Set-Service “LabVIEW Web Server” -StartupType Disabled
(GUIなら services.msc
を開き、該当サービスを「無効」に)
B. NI 側のポートを変更(NI の Web 機能も使う場合)
NI の Web サーバ(Apache ベース)の httpd.conf
などでListen 8080
を 8085 など空きポートへ変更 → サービス再起動。
(バージョンにより「Web-Based Configuration & Monitoring(多くは http://localhost:3580/)」から設定可能な場合も)
C. MoinMoin のポートを変更
スタンドアロン運用なら wikiserverconfig.py
の port = 8080
を 8081 などに変更。
補足(ほかのポート)
-
2343(PID 5428):NI PSP Service Locator(問題なし)
-
623 / 16992(PID 5544):Intel AMT/ME 系(問題なし)
-
8080(PID 5612):ここが衝突ポイント(MoinMoin 既定)
まずは上の 1)~2) をそのままコピペで実行して、サービス名が分かったら共有してください。あなたの環境名に合わせて「無効化」or「ポート変更」の具体コマンドまで書き切ります。
プロンプト:
PS C:\Users\note> tasklist /fi “PID eq 5612” イメージ名 PID セッション名 セッション# メモリ使用量 ========================= ======== ================ =========== ============ AgentService.exe 5612 Services 0 21,928 K PS C:\Users\note> tasklist /svc /fi “PID eq 5612” # どのサービス名かを表示 イメージ名 PID サービス ========================= ======== ============================================ AgentService.exe 5612 MTAgentService PS C:\Users\note> Get-CimInstance Win32_Service -Filter “ProcessId=5612” | Select Name,DisplayName,St Name DisplayName St —- ———– — MTAgentService MTAgentService PS C:\Users\note>
ChatGPT 5:
なるほど!PID 5612 の正体は AgentService.exe
(サービス名: MTAgentService) でした。
これは LabVIEW / NI 関連の Measurement & Automation Explorer(MAX)エージェントサービス によく見られるもので、デバイス監視や通信のために 8080 ポート を常駐で掴んでしまいます。
解決方法
1. 一時的に止める(再起動まで有効)
Stop-Service MTAgentService -Force
これで 8080 が解放され、MoinMoin が立ち上がるはずです。
2. 恒久的に止める(NI の機能を使わないなら推奨)
管理者 PowerShell で:
Set-Service MTAgentService -StartupType Disabled
あるいは GUI で services.msc
を開き、「MTAgentService」 を「無効」に設定。
3. NI 機能も使いたい場合
-
NI 側のポートを変更:
MTAgentService の設定ファイル(インストール環境によってはC:\ProgramData\National Instruments\...
配下)で Listen ポートを変更する必要があります。ただ、公式にはあまりドキュメント化されておらず、実務上はサービス停止が現実解です。 -
MoinMoin 側を変更:
wikiserverconfig.py
のport = 8080
を 8081 や 8008 などに変更する手もあります。
実務的おすすめ
-
MoinMoinをメインに使う →
MTAgentService
を無効化(Set-Service で Disabled)。 -
LabVIEW の NI 機能もたまに使う → 普段は止めておき、必要なときだけ
Start-Service MTAgentService
で起動。
👉 まずは Stop-Service MTAgentService -Force
を実行して、MoinMoin が正常に立ち上がるか確認してみませんか?
プロンプト:
PS C:\Users\note> Stop-Service MTAgentService -Force Stop-Service : 次のエラーのため、サービス ‘MTAgentService (MTAgentService)’ を停止できません: ‘.’ コンピューターで MTAgentService サービスを開けません 。 発生場所 行:1 文字:1 + Stop-Service MTAgentService -Force + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : CloseError: (System.ServiceProcess.ServiceController:ServiceController) [Stop-Service]、ServiceCommandException + FullyQualifiedErrorId : CouldNotStopService,Microsoft.PowerShell.Commands.StopServiceCommand PS C:\Users\note>
ChatGPT 5:
権限不足っぽいです。管理者権限で開いていないPowerShellだと、そのエラーになります。次の順でいきましょう。
0) 管理者でPowerShellを起動
-
スタート→「PowerShell」と入力→「Windows PowerShell」を右クリック→「管理者として実行」
※ タイトルバーに「管理者: Windows PowerShell」と出ていればOK。
1) まず普通に停止を再試行
Stop-Service MTAgentService -Force
2) 止まらないときの代替(sc.exe
)
sc.exe stop MTAgentService
3) どうしても止められない場合の手順(恒久停止→プロセス強制終了)
-
自動起動を無効化(※スペースの位置に注意:
start= disabled
)
sc.exe config MTAgentService start= disabled
2. 実行中プロセスを強制終了
taskkill /PID 5612 /F
3. ポートが空いたか確認
Get-NetTCPConnection -LocalPort 8080 -State Listen
# 何も表示されなければ解放できています
→ これで MoinMoin が起動するはずです。
(再起動しても自動では上がってこなくなります)
4) GUI派のやり方(同じこと)
-
services.msc
を管理者で開く -
MTAgentService を右クリック→停止
-
停止できなければ「プロパティ」→スタートアップの種類: 無効→OK→Windowsを再起動
-
必要なら、停止後にMoinMoin側のポート競合が完全に解消されたか(8080
が空いているか)も一緒に確認します。結果(成功/失敗のログ)を貼ってくれれば、次の手をすぐ出します。
プロンプト:
INDOWS\system32> Stop-Service MTAgentService -Force PS C:\WINDOWS\system32>
ChatGPT5:
いいですね、その表示なら 停止コマンドは成功 しています(エラーが出ていないのでOK)。
次にやること
-
8080が空いたか確認
Get-NetTCPConnection -LocalPort 8080 -State Listen
# 何も表示されなければ解放済み
(代替)
netstat -ano | findstr :8080
MoinMoinを起動(スタンドアロンなら普段どおり wikiserver.py
などを実行)
再発防止(自動起動を止める)
普段 NI 側の機能を使わないなら、起動タイプを無効へ。
Set-Service MTAgentService -StartupType Disabled
※ これで Windows 起動時に MTAgentService
が勝手に立ち上がらなくなり、8080を塞がれません。
元に戻すとき(必要な時だけ使う運用)
Set-Service MTAgentService -StartupType Manual
Start-Service MTAgentService
もしまだ8080が埋まっていたら
別のプロセスが掴んでいる可能性があります。PIDを特定して教えてください。
netstat -ano | findstr LISTENING | findstr :8080
# → 一番右の数値がPID
tasklist /fi “PID eq <そのPID>”
tasklist /svc /fi “PID eq <そのPID>”
うまくいけば、このまま MoinMoin が起動するはず。結果だけ教えてくれれば、次の一手を出します。
(自分:以上のやりとりで、無事、MOINMOINを起動させることができました。)
ChatGPT 5:
今後の再発防止ポイント
-
MTAgentService(AgentService.exe)が原因でMoinMoinと競合 → 今回無効化済みなので、再起動しても勝手に8080を塞がれない。
-
MoinMoinは自分が立ち上がると当然8080をListenするので、これは正常な状態。
これで毎回タスクマネージャーで探して殺す…という手間は不要になったはずです 👍
👉 念のため、次回PCを再起動したときにも MoinMoin が問題なく立ち上がるか一度確認すると安心ですよ。
もしまた「別のポートを占有して動かない」といった症状が出たら、そのときはまた調べましょう。
今はもうバッチリ解決です ✅