نگاهی به ماژول os در Node.js

ماژول os همونطور که از اسمش مشخصه برای سر و کله زدن با یه سری چیز در خصوص سیستم‌عامله?نکته: OS مخفف Operating System به معنای سیستم‌عامل هست.خب یه راست میرم سراغ اصل مطلب که معرفی متدای کاربردی این ماژول هستش?وارد کردن ماژولماژول os هم مثل بقیه ماژولا لازمه که فراخوانی بشه (البته نیاز به نصب نداره و جزو ماژول های داخل خود Node.js هست)const os = require('os');اگه محیط بالا براتون جذابه، باید بگم من از ترمینال Hyper استفاده میکنم که با الکترون نوشته شده که اونم با Node.js هست!گرفتن آدرس Home کاربرشاید براتون پیش بیاد که بخواید مثل vscode توی پوشه Home سیستم یه پوشه بسازید تا تنظیمات پروژتون و یه سری فایل رو توش ذخیره کنید، در اینصورت این متد به کارتون میادos.homedir()خروجی این متد یه رشته از آدرس پوشه Home یوزر فعلی سیستم هست.گرفتن آدرس Temp سیستماگه میخواید یه فایلی رو موقتی ذخیره کنید، پوشه temp برای همین ساخته شده و خب قبل از ذخیره کردن یه فایل باید بدونید که کجا ذخیرش کنید دیگه?os.tmpdir() خروجی این متد یه رشته از آدرس پوشه Temp سیستم عامل هست.گرفتن اسم کامپیوتراحتمالا شما هم مثل همین ترمینال Hyper بخواید اسم سیستم شخص اجرا کننده رو نشون بدیدos.hostname()خروجی این متد یه رشته هست که اسم میزبان سیستم عامل(سادش میشه اسم کامپیوتر) توی اونه.گرفتن میزان کل رم کامپیوترشاید بخواید یه ابزار بسازید که چک کنید اگر رم سرورتون از 80 درصد بیشتر مصرف شد بهتون خبر بده!os.totalmem()خروجی این متد یه عدده که میزان رم کامپیوتر رو به بایت نشون میده.گرفتن میزان رم آزاد کامپیوتراینم در راستای همون ماجرایی قبلی لازمه باید رم آزاد رو تقسیم بر میزان رم کل بکنید و در 100 ضرب کنید تا درصد بدست بیاد!os.freemem()خروجی این متد یه عدده که میزان رم آزاد کامپیوتر رو به بایت نشون میده.گرفتن سیستم عامل کامپیوتراگه بخواید یه نرم افزار با الکترون توسعه بدید یا یه ابزار cli بعضی از لایبرری ها فقط و فقط روی یه پلتفرم خاص اجرا میشن مثلا فقط روی ویندوز کار میکنن ولی خب اکثرا نسخه مشابهشون برای بقیه پلتفرم ها هست پس لازمه بگیم که توی چه پلتفرمی، چه کدی رو اجرا کنos.platform()خروجی این متد یه رشتست که میتونه یکی از مقدار های aix, darwin, freebsd, linux, openbsd, sunos و win32 باشه و البته مقدار android هم میتونه توی این لیست باشه!گرفتن معماری سیستمشاید نرم افزارتون بنا به دلایلی فقط به معماری های x64 سازگار باشه و لازم باشه که به کاربر بگید چون معماریت x32 هست نمیتونی اجرا کنی نرم افزار روos.arch()خروجی این متد یه رشتست که میتونه یکی از مقدار های arm, arm64, ia32, mips, mipsel, ppc, ppc64, s390, s390x, x32 و x64 باشهگرفتن مدت زمان روشن بودن کامپیوتراحتمالا بخواید یه ابزار بسازید که نذاره بیش از حد کامپیوتر خودتون رو روشن بذارید! مثلا اگر بیشتر از 5 ساعت روشن بود، یه تایمر 1 دقیقه فعال بشه و بهتون فرصت بده تا هرچی کار نا تموم دارید و سیو نکردید رو سیو کنید و بعد سریع خاموش بشه?خروجی این متد یه عدده که مدت زمان روشن بودن کامپیوتر به ثانیه رو میگه.گرفتن مشخصات کاربرمیتونید یوزرنیم یا اطلاعات دیگه از کاربر فعلی سیستم بخونید و دیگه لازم نباشه سوال بپرسید!os.userInfo()خروجی این متد یه آبجکته که شامل username, uid, gid, shell و homedir هست ولی توی ویندوز uid و gid مقدارشون -1 هست (چون برای سیستم‌عامل های unix base هست این دو تا مقدار)گرفتن مشخصات هسته های CPUشاید بخواید بررسی کنید که اگه سیستم کاربرتون بیشتر از 4 هسته با قدرت پردازشی داشت یه سری ویژگی های خفن تر بهش اضافه بشه??خروجی این متد یه آرایه از یه سری آبجکته که هر آبجکت شامل model, speed, times میشه که times هم یه آبجکته و شامل user, nice, sys, idle, irqmodel: یه رشته که مدل هسته پردازنده توش نوشته شدهspeed: سرعت اون هسته به مگاهرتزuser: میزان ثانیه هایی که cpu توی حالت user گذروندهnice: میزان ثانیه هایی که cpu توی حالت niceگذروندهsys: میزان ثانیه هایی که cpu توی حالت sys گذروندهidle: میزان ثانیه هایی که cpu توی حالت idle گذروندهirq: میزان ثانیه هایی که cpu توی حالت irq گذروندهممنون که وقت گذاشتین و خوندین، امیدوارم براتون مفید بوده باشه?طبق معمول اگه مشکلی وجود داشت حتما بگید تا اصلاح کنم...محمد محمدعلیان - 18 اسفند 1398