Skip to content

genkitoyama/Restart-On-Crash-macOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RestartOnCrash for macOS

Windows版「RestartOnCrash」にインスパイアされた、macOS用のプロセス監視・自動再起動ユーティリティです。

メニューバーに常駐し、指定したプロセスのクラッシュやハングを検出して自動的に再起動します。展示・インスタレーション・デジタルサイネージなど、無人環境での長時間運用に最適です。

特徴

  • クラッシュ検出と自動再起動 — プロセスの異常終了を検知し、自動的に再起動
  • ハング検出 — GUIアプリの応答なし状態を検知し、再起動(ON/OFF切替可能)
  • GUIアプリ / CLIプロセス両対応 — Bundle Identifier または実行ファイルパスで指定
  • プロジェクトファイル対応 — TouchDesigner (.toe)、Max/MSP (.maxpat)、Ableton (.als) 等のファイルを開いた状態で再起動
  • Graceful Shutdown — 強制終了前に正常終了を試行(タイムアウト設定可)
  • 再起動前後のスクリプト実行 — キャッシュクリア、通知送信などを自動化
  • 定期再起動(スケジュール) — メモリリーク対策などに、指定間隔で自動再起動
  • 複数プロセスの同時監視 — プロセスごとに監視間隔・最大再起動回数を個別設定
  • イベントログ — クラッシュ・再起動等のイベントを記録、フィルタ・検索対応
  • ログイン時自動起動 — macOS の Login Item としてワンクリックで登録

動作環境

  • macOS 13.0 (Ventura) 以降
  • Xcode 15.0 以降(ビルド用)

インストール

Releases から最新の RestartOnCrash.zip をダウンロードし、展開して /Applications にドラッグしてください。

ソースからビルドする場合

git clone https://github.com/genkitoyama/Restart-On-Crash-macOS.git
cd Restart-On-Crash-macOS
open RestartOnCrash.xcodeproj

Xcode 15.0 以降で Cmd + R でビルド&実行します。

使い方

プロセスの追加

  1. メニューバーアイコンから「Open Window...」でメインウィンドウを開く
  2. 「Processes」タブの「+」ボタンをクリック
  3. プロセスタイプ(GUI / CLI)を選択
  4. GUIアプリの場合:
    • 「Running Apps...」で実行中アプリから選択
    • 「Browse .app...」で /Applications から選択
    • または Bundle Identifier を直接入力
  5. CLIの場合: 実行ファイルのパスを入力、または「Browse...」でファイル選択
  6. 必要に応じてプロジェクトファイルを指定(TouchDesigner, Max/MSP 等)
  7. 監視間隔、ハング検出、再起動待機時間、スクリプト等を設定
  8. 「Add」をクリック

監視の開始

  • アプリ起動時に自動で監視が開始されます
  • メインウィンドウ左下の「Start / Stop」ボタンで手動制御も可能
  • メニューバーアイコンが塗りつぶしに変わると監視中

スクリプトの設定例

# Pre-Restart: キャッシュクリア
rm -rf /tmp/myapp-cache/*

# Post-Restart: Slack通知
curl -X POST -H 'Content-Type: application/json' \
  -d '{"text":"App restarted"}' \
  https://hooks.slack.com/services/xxx/yyy/zzz

# Post-Restart: ログ記録
echo "$(date): restarted" >> ~/Desktop/restart-log.txt

ドキュメント

  • アーキテクチャ — アプリの全体構成・ファイル構成・状態管理・View構成
  • 技術的な補足 — クラッシュ検出・ハング検出・Graceful Shutdown・スクリプト実行の仕組み

ライセンス

MIT

About

mac版 restart on crash

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages