ホームページ >ウェブフロントエンド >jsチュートリアル >「child_process」を使用して Node.js でコマンド ライン バイナリを実行するにはどうすればよいですか?
Node.js からサードパーティのコマンド ライン バイナリを実行するには、child_process モジュールを使用するのが簡単です。
exec を使用して完了する出力
コマンドを実行してその完全な出力を取得するには、child_process.exec:
const { exec } = require('child_process'); exec('prince -v builds/pdf/book.html -o builds/pdf/book.pdf', (err, stdout, stderr) => { if (err) return; console.log(`stdout: ${stdout}`); console.log(`stderr: ${stderr}`); });
ストリーム出力に spawn を使用する
ストリームを使用してプロセス I/O を処理するには、次を使用します。 child_process.spawn:
const { spawn } = require('child_process'); const child = spawn('prince', [ '-v', 'builds/pdf/book.html', '-o', 'builds/pdf/book.pdf' ]); child.stdout.on('data', (chunk) => { // Output chunks are received here });
実行可能ファイルに execFile を使用する
コマンドの代わりに実行可能ファイルを実行するには、child_process.execFile:
const { execFile } = require('child_process'); execFile(file, args, options, (err, stdout, stderr) => { // Output is retrieved in stdout });を使用します。
同期関数
同期実行の場合、Node.js はこれらに対応する同期関数を提供します。メソッド:
これらは、非同期インスタンスのように ChildProcess インスタンスを返しません。 counterparts.
注: Node.js バージョン 0.11.12 以降の場合、上記の例が適用されます。以前のバージョンについては、提供された回答に含まれているレガシー コードを参照してください。
以上が「child_process」を使用して Node.js でコマンド ライン バイナリを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。