وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

روش دریافت PID یک اسکریپت شل

0 1
زمان لازم برای مطالعه: 3 دقیقه


در سیستم عامل های مبتنی بر لینوکس و یونیکس، process ID (PID) یک شناسه منحصر به فرد است که به هر در حال اجرا اختصاص داده می شود process، از جمله اسکریپت های پوسته. به دست آوردن PID یک اسکریپت پوسته می تواند برای نظارت، عیب یابی و سایر وظایف اداری مفید باشد. راه های مختلفی برای بدست آوردن PID اسکریپت پوسته وجود دارد و در این مقاله به سه روش برای بدست آوردن PID اسکریپت پوسته پرداخته می شود.

روش دریافت PID یک اسکریپت شل

سه راه برای رسیدن به آن وجود دارد process شناسه یک اسکریپت پوسته، اما باید به خاطر داشته باشید که اسکریپت باید در حال اجرا باشد، بنابراین در اینجا این سه راه وجود دارد:

روش دریافت PID با استفاده از متغیر $$

یکی از ساده‌ترین راه‌ها برای دریافت PID یک اسکریپت پوسته، استفاده از متغیر داخلی $$ است. متغیر $$ PID جریان را ذخیره می کند process، که در این مورد پوسته اسکریپت است. در اینجا روش استفاده از متغیر $$ برای بدست آوردن PID یک اسکریپت پوسته آمده است، تنها کاری که باید انجام دهید این است که فقط خط داده شده زیر را اضافه کنید. روی فیلمنامه:

اکو “PID این اسکریپت است:” $$

رابط کاربری گرافیکی، متن توضیحات به طور خودکار تولید می شود

زمانی که اسکریپت را اجرا می کنید process ID مانند تصویر زیر نمایش داده می شود:

پیشنهاد می‌کنیم بخوانید:  Bash yes Command

روش دریافت PID یک اسکریپت شلروش دریافت PID یک اسکریپت شل

روش دریافت PID با استفاده از دستور ps

دستور ps یک ابزار همه کاره برای نمایش اطلاعات در مورد فرآیندهای در حال اجرا در سیستم عامل های مبتنی بر لینوکس یا یونیکس است. در اینجا روش استفاده از دستور ps برای دریافت PID یک اسکریپت پوسته آمده است:

ps -ef | grep <نام اسکریپت>

دستور ps تمام فرآیندهای در حال اجرا را فهرست می کند و دستور grep آن را جستجو می کند process حاوی نام اسکریپت پوسته دستور awk ستون دوم (که حاوی PID) را از خروجی دستور grep استخراج می کند، در اینجا من از نحو بالا برای بدست آوردن process از یک فایل اسکریپت در حال اجرا:

ps -ef | grep bashfile.sh

روش دریافت PID یک اسکریپت شلروش دریافت PID یک اسکریپت شل

روش دریافت PID با استفاده از دستور ps aux و awk

ps کمک | grep <اسکریپت-نام> | grep -v grep | بیخیال “{print $2}”

ps aux: این دستور تمام فرآیندهای در حال اجرا را فهرست می کند روی سیستم. گزینه a تمام فرآیندها را برای همه کاربران نشان می دهد، گزینه u اطلاعات دقیقی در مورد هر یک ارائه می دهد process.

grep