以下に、child_processモジュールの基本的な使用方法と一緒に、一部の一般的なタスクの例を示します。
- 外部コマンドの実行:
child_processモジュールの
exec
関数を使用すると、外部コマンドを実行することができます。以下はその例です。
const { exec } = require('child_process');
exec('ls', (error, stdout, stderr) => {
if (error) {
console.error(`実行時エラー: ${error}`);
return;
}
console.log(`標準出力: ${stdout}`);
console.error(`標準エラー: ${stderr}`);
});
- 外部アプリケーションの起動:
child_processモジュールの
spawn
関数を使用すると、外部アプリケーションを起動し、入出力ストリームを管理することができます。以下はその例です。
const { spawn } = require('child_process');
const ls = spawn('ls', ['-lh', '/usr']);
ls.stdout.on('data', (data) => {
console.log(`標準出力: ${data}`);
});
ls.stderr.on('data', (data) => {
console.error(`標準エラー: ${data}`);
});
ls.on('close', (code) => {
console.log(`子プロセス終了コード: ${code}`);
});
- プロセス間の通信:
child_processモジュールの
fork
関数を使用すると、子プロセスをフォークして親プロセスとの間でメッセージの送受信を行うことができます。以下はその例です。
// parent.js
const { fork } = require('child_process');
const child = fork('child.js');
child.on('message', (message) => {
console.log(`親プロセスが受信したメッセージ: ${message}`);
});
child.send('こんにちは、子プロセス!');
// child.js
process.on('message', (message) => {
console.log(`子プロセスが受信したメッセージ: ${message}`);
});
process.send('こんにちは、親プロセス!');
これらはchild_processモジュールの一部の機能と例です。詳細な情報や他の使用方法については、Node.jsの公式ドキュメントを参照してください。