Tahun baru, skill baru! 🚀. Masukkan kupon "skill2025" untuk diskon 30% di kelas apa saja
Skodev
Belajar coding dalam bahasa Indonesia
Dalam pemrograman menggunakan NodeJS, terkadang kita perlu menjalankan proses eksternal dari aplikasi kita, yang dikenal sebagai “child process”. Modul child_process
dalam NodeJS membuat tugas ini jadi lebih mudah dan efisien. Berikut ini adalah cara mengontrol child process dengan bantuan modul ini.
child_process
Modul child_process
menyediakan beberapa metode untuk membuat child process. Salah satu yang paling umum digunakan adalah exec()
, spawn()
, dan fork()
.
exec()
exec()
digunakan untuk mengeksekusi perintah dalam sebuah shell dan menampilkan buffer keluaran secara lengkap. Cocok untuk perintah yang mengembalikan keluaran kecil.
const { exec } = require('child_process');
exec('ls -l', (error, stdout, stderr) => {
if (error) {
console.error(`Kesalahan: ${error.message}`);
return;
}
if (stderr) {
console.error(`Stderr: ${stderr}`);
return;
}
console.log(`Stdout: ${stdout}`);
});
spawn()
Jika kamu ingin memproses data dalam jumlah besar, gunakan spawn()
. Metode ini juga memungkinkan kontrol lebih baik terhadap aliran data.
const { spawn } = require('child_process');
const ls = spawn('ls', ['-lh', '/usr']);
ls.stdout.on('data', (data) => {
console.log(`Stdout: ${data}`);
});
ls.stderr.on('data', (data) => {
console.error(`Stderr: ${data}`);
});
ls.on('close', (code) => {
console.log(`Proses anak berhenti dengan kode ${code}`);
});
fork()
Metode fork()
digunakan untuk membuat proses anak khusus dari NodeJS. Berguna saat kamu perlu memulai modul NodeJS sebagai proses terpisah.
const { fork } = require('child_process');
const child = fork('script.js');
child.on('message', (msg) => {
console.log('Pesan dari child', msg);
});
child.send({ hello: 'dari parent' });
Menggunakan modul child_process
sangat penting ketika kamu butuh menjalankan script atau program eksternal dari NodeJS. Dengan memahami cara penggunaan metode exec()
, spawn()
, dan fork()
, kamu dapat memilih pendekatan yang paling sesuai dengan kebutuhan spesifik aplikasi kamu. Cobalah untuk mengeksplorasi lebih dalam dan gunakan modul ini untuk membuat aplikasi NodeJS kamu lebih powerful dan fleksibel.
Link terkait: