外部プロセスのレシピ

外部コマンドの実行、標準出力・標準エラーの取得、リアルタイム出力、長時間プロセスの管理と強制終了、同梱した Python / Node.js / バイナリ / シェルスクリプトの実行など、shell プラグインを使うレシピです。

全 10 件 / 対象: Tauri 2.x

  1. 1 外部コマンド(ls/dir等)を実行する Command.create() と execute() で ls や git を実行する。shell:allow-execute の scope と validator の書き方、dir など組み込みコマンドの扱いも示す。 更新日: 2026-09-12
  2. 2 コマンドに引数・作業ディレクトリ・環境変数を渡す Command.create() の引数配列と、options の cwd・env で作業ディレクトリと環境変数を渡す。空白入りパスの渡し方、scope で制限されない cwd と env の注意点、Rust での書き方も示す。 更新日: 2026-09-12
  3. 3 コマンドの標準出力・エラー出力を取得する execute() が返す stdout・stderr・code で結果を受け取る。日本語版 Windows の Shift_JIS 出力を encoding で読む方法、終了コードでの成否判定、Rust の output() も示す。 更新日: 2026-09-12
  4. 4 時間のかかるプロセスを管理・強制終了する shell プラグインの spawn() で起動したプロセスを Child で保持し、kill()(権限 shell:allow-kill)で止める。Rust の State での管理と、アプリ終了時に子プロセスを残さない後始末も示す。 更新日: 2026-09-12
  5. 5 コマンドの出力をリアルタイムで受け取る spawn() の stdout / stderr の data イベントで出力を 1 行ずつ受け取り、close で終了を知る。行末と \r の進捗表示の扱い、文字コード、Rust から Channel で送る方法も示す。 更新日: 2026-09-12
  6. 6 同梱した Python スクリプトを実行する PyInstaller で実行ファイルにした Python スクリプトをサイドカーとして同梱し、Command.sidecar() で呼んで JSON を受け取る。Windows の文字化けや、常駐させたときの終わらせ方も示す。 更新日: 2026-09-12
  7. 7 同梱した Node.js スクリプトを実行する (SEA) Node.js のスクリプトを esbuild で 1 ファイルにまとめ、SEA で実行ファイルにしてサイドカーとして同梱する。--build-sea と postject の手順、Command.sidecar() での呼び出しを示す。 更新日: 2026-09-12
  8. 8 同梱したバイナリファイルを実行する Rust や Go で作った CLI を bundle.externalBin で同梱し、Command.sidecar() と Rust の sidecar() で実行する。ファイル名の規則、権限のスコープ、終了時の後始末も示す。 更新日: 2026-09-12
  9. 9 PowerShell スクリプトを実行する shell プラグインで powershell.exe を起動し、-File で .ps1 に引数を渡す。実行ポリシーで止まる理由と -ExecutionPolicy Bypass、日本語が Shift_JIS で届く問題の直し方も示す。 更新日: 2026-09-12
  10. 10 Bash スクリプトを実行する 同梱した .sh を shell プラグインで実行する。シバンと実行権限が要る直接実行と、bash にパスを渡す方法の違い、改行コード、macOS の zsh と PATH の落とし穴も示す。 更新日: 2026-09-12