Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Node.js24.x】Object::execSync()メソッドの使い方

execSyncメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

execSyncメソッドは、Node.jsのchild_processモジュールが提供するメソッドで、外部コマンドを同期的に実行します。このメソッドは、指定されたコマンド文字列を受け取り、新しい子プロセスを生成してそのコマンドを実行します。

同期的な処理とは、コマンドが完全に終了し、結果が返されるかエラーが発生するまで、Node.jsアプリケーションのメインスレッドが次の処理に進むことを停止するという意味です。そのため、コマンドの実行結果をすぐに取得し、その結果に基づいて後続の処理を行いたい場合に特に役立ちます。例えば、ファイルの圧縮や解凍、システム情報の取得、Gitコマンドの実行など、外部プログラムの実行結果がアプリケーションの流れに不可欠な場面で利用されます。

しかし、長時間かかるコマンドを実行する場合や、多数の並行処理が必要な場合は、メインスレッドがブロックされてアプリケーション全体の応答性が低下する可能性があるため注意が必要です。このようなケースでは、非同期でコマンドを実行するexecspawnといったメソッドの利用を検討することが推奨されます。execSyncは、シンプルかつ確実に外部コマンドを実行するための強力なツールですが、その同期的な特性を理解し、適切に利用することが重要です。

構文(syntax)

1const { execSync } = require('child_process');
2
3const commandOutput = execSync('echo Hello from Node.js', { encoding: 'utf8' });
4console.log(commandOutput);

引数(parameters)

command, options = {}

  • command: string: 実行するシェルコマンドを指定する文字列
  • options: object = {}: コマンド実行時のオプションを指定するオブジェクト

戻り値(return)

Buffer | string

実行したコマンドの標準出力が、Bufferオブジェクトまたは文字列として返されます。

関連コンテンツ