process هو كائن عام يوفر معلومات والتحكم في عملية Node.js الحالية. إنه واجهتك للبيئة، ومعاملات سطر الأوامر، وتدفقات الإدخال/الإخراج، ودورة الحياة، والإشارات.
قراءة متغيرات البيئة
js
process..;
process..;
port = process.. || ;
process هو كائن عام يوفر معلومات والتحكم في عملية Node.js الحالية. إنه واجهتك للبيئة، ومعاملات سطر الأوامر، وتدفقات الإدخال/الإخراج، ودورة الحياة، والإشارات.
process..;
process..;
port = process.. || ;
process.env هي الطريقة القياسية لقراءة الإعدادات والأسرار (المعرّفة خارج الكود) — أساسية لإعداد twelve-factor.
// node script.js --name=Ann
process.argv; // ["node", "/path/script.js", "--name=Ann"]
const args = process.argv.slice(2); // skip the first two
process.stdout.write("output\n"); // console.log writes here
process.stderr.write("error\n"); // console.error writes here
process.stdin.on("data", (chunk) => { /* read input */ });
process.exit(0); // exit with success code (1 = error)
process.exitCode = 1; // preferred: set code, let the process finish naturally
process.pid; // the process id
process.cwd(); // current working directory
process.uptime(); // seconds the process has run
process.on("SIGTERM", () => { /* clean up, then exit — e.g. on container stop */ });
process.on("SIGINT", () => { /* Ctrl+C */ });
process.on("uncaughtException", (err) => { log(err); process.exit(1); });
process.on("unhandledRejection", (reason) => { log(reason); });
الاستماع إلى SIGTERM/SIGINT هي كيفية تنفيذ الإغلاق الفعّال (إنهاء الطلبات الجارية، إغلاق اتصالات قاعدة البيانات قبل الخروج)، وأجهزة معالجة الأخطاء غير المُمسكة هي شبكات أمان الملاذ الأخير.
process.memoryUsage(); // heap stats (leak detection)
process.nextTick(cb); // schedule a callback before the next event-loop phase
process.platform; // "linux" | "darwin" | "win32"
process هو اتصال برنامجك ببيئة وقت التشغيل.
تستخدمه باستمرار: قراءة الإعدادات/الأسرار عبر process.env، التعامل مع معاملات CLI، وبشكل مهم للإنتاج — اكتشاف الإشارات للإغلاق الفعّال وأجهزة معالجة الأخطاء الملاذ الأخير.
فهمه أساسي لبناء تطبيقات Node قابلة للتكوين وقوية وجاهزة للإنتاج.