CodeBlanks Logo Icon CodeBlanks

Child process

child_process.exec ile alt süreç çalıştırmayı öğrenirsin.

child_process.exec

child_process.exec bir kabuk komutunu alt süreç olarak çalıştırır. Komutun çıktısını bir callback ile alırsın. Bu, Node.js içinden sistem komutları çalıştırmak için kullanılır.

Örneğin exec("echo merhaba", (err, stdout, stderr) => { console.log(stdout); }) ile echo komutunu çalıştırıp çıktısını yazdırırsın. Callback üç parametre alır: err hata, stdout normal çıktı, stderr hata çıktısı. Komut tamamlanınca callback çağrılır. Büyük çıktılar için spawn daha uygundur; ama kısa komutlarda exec daha basittir.

exec callback'i

exec'in callback'i üç parametre alır: (err, stdout, stderr). Komut başarıyla çalışırsa err null olur; stdout çıktıyı, stderr hata iletilerini içerir.

Çıktı genellikle sonunda yeni satır karakteri taşır; bu yüzden stdout.trim() ile temizlemek yaygındır. Örneğin exec("node --version", (err, stdout) => console.log(stdout.trim())) Node.js sürümünü yazdırır. Komut bulunamazsa veya sıfırdan farklı çıkış kodu verirse err dolu gelir. Bu yüzden callback'in başında if (err) kontrolü yapmak iyi bir alışkanlıktır.

Uygulama echo komutunu çalıştır ve çıktıyı yazdır

child_process modülünden exec'i içe aktar. exec("echo merhaba", cb) ile komutu çalıştır. Callback içinde stdout.trim()'i console.log ile yazdır.

Başlangıç kodu

index.js
// child_process'i içe aktar
// exec ile "echo merhaba" çalıştır
// callback'te stdout'ı yazdır
// buraya yaz

Örnek çözüm

index.js
const { exec } = require("child_process");
exec("echo merhaba", (err, stdout) => {
  console.log(stdout.trim());
});

Beklenen çıktı

merhaba

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 child_process'i içe aktar

Soru
const { exec } = require("____");
Cevap
const { exec } = require("child_process");

Açıklama: child_process modülünden exec içe aktarılır.

2 Parçayı rolüne eşle

Kavram Anlamı
exec Komut çalıştırır
stdout Çıktı akışı
stderr Hata akışı
callback Sonucu işler

3 exec callback'inde ikinci parametre ne içerir?

index.js
(err, stdout, stderr)
  • Çıkış kodu
  • Hata nesnesi
  • stdout çıktısı Doğru cevap
  • PID numarası

Açıklama: İkinci parametre stdout, komutun normal çıktısıdır.

Orta seviye bölümündeki tüm dersler