دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۲۰
  • اسفند

جلسه ۰۸-۰۱ : مدیریت Process ها در یونیکس

  • دسته‌بندی‌ها :
جلسه ۰۸-۰۱ : مدیریت Process ها در یونیکس
    • جزئیات
    • نوع محتواآموزشی

      دوستان و علاقمندان به مباحث آموزش یونیکس (UNIX) ، این آموزش را از سایت پی وی لرن دنبال خواهیم نمود. در این بخش، مدیریت Process ها در یونیکس را مورد بررسی قرار داده. این مبحث در دو بخش بیان خواهد شد.

      مدیریت Process ها در یونیکس

      در این بخش، ما به طور مفصل در مورد مدیریت Process ها در یونیکس بحث خواهیم کرد. وقتی برنامه ای را روی سیستم یونیکس خود اجرا می کنید ، سیستم محیط خاصی را برای آن برنامه ایجاد می کند.

      هرگاه در یونیکس دستوری صادر کردید ، پروسس جدیدی ایجاد یا شروع می شود. هنگامی که از دستور ls برای لیست کردن محتوای دایرکتوری استفاده می کنید، فرآیندی (Process) را شروع کردید. یک فرآیند (Process) ، به زبان ساده ، نمونه ای از یک برنامه ی در حال اجرا است.

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

      سرانجام PID ها تکرار می شوند، زیرا تمام شماره های ممکن استفاده می شود و pid بعدی دوباره شروع می شود. در هر مقطع زمانی ، هیچ دو فرآیند با pid یکسان در سیستم وجود ندارد زیرا این pid است که یونیکس برای ردیابی هر فرایند از آن استفاده می کند.

      شروع یک پروسس (Process)

      هنگامی که یک پروسس را شروع می کنید (فرمان را اجرا می کنید) ، دو نوع پروسس در یونیکس وجود دارد که می توانید آن را اجرا کنید.

      • پروسس های Foreground
      • پروسس های Background

      پروسس های Foreground

      به طور پیش فرض ، هر پروسسی که شروع می کنید در foreground اجرا می شود. ورودی خود را از صفحه کلید دریافت می کند و خروجی را به صفحه نمایش ارسال می کند.

      می توانید با دستور ls این اتفاق را ببینید. اگر می خواهید تمام فایل های موجود در دایرکتوری فعلی خود را لیست کنید ، می توانید از دستور زیر استفاده کنید.

      مثال : 

      این کار می تواند تمام فایل هایی را نشان دهد که نام آن ها با ch شروع می شود و با doc. پایان می یابد.

      مثال : 

      پروسس در foreground اجرا می شود ، خروجی به اسکرین هدایت می شود و اگر دستور ls هر ورودی را بخواهد (که این کار را نمی کند) ، از صفحه کلید منتظر آن می شود.

      در حالی که یک برنامه که در foreground اجرا شده و وقت گیر است ، هیچ دستور دیگری را نمی تواند اجرا کند (هر فرآیند دیگری را شروع کنید) زیرا تا زمانی که برنامه پردازش را تمام کند، اعلان، وجود ندارد. با مدیریت Process ها در یونیکس همراه باشید.

      پروسس های Background

      یک پروسس Background بدون اتصال به صفحه کلید شما اجرا می شود. اگر  پروسس های Background به هر ورودی صفحه کلید نیاز داشته باشد ، منتظر می ماند.

      مزیت اجرای یک پروسس در background این است که می توانید دستورات دیگری را اجرا کنید و برای شروع دیگری لازم نیست صبر کنید تا زمان کامل شود!

      ساده ترین روش برای شروع یک پروسس Background، اضافه کردن یک & در انتهای دستور است.

      مثال : 

      این تمام فایل هایی را نشان می دهد که نام آن ها با ch شروع می شود و با doc. پایان می یابد.

      مثال : 

      در این جا ، اگر دستور ls هر ورودی را بخواهد (که این کار را نمی کند) ، تا زمانی که آن را به foreground منتقل کنیم و داده ها را از صفحه کلید به آن بدهیم ، در حالت توقف (stop) قرار می گیرد.

      این خط اول حاوی اطلاعاتی درباره background process – شماره کار و شناسه (ID) پروسس است. برای دست کاری آن بین background و foreground ، باید شماره کار را بدانید.

      کلید Enter را فشار دهید و موارد زیر را مشاهده خواهید کرد.

      مثال : 

      خط اول به شما می گوید که پروسس background دستور ls با موفقیت به پایان رسیده است. خط دوم اعلان فرمان دیگری است.

      لیست پروسس های در حال اجرا (Running Processes)

      با اجرای دستور ps (وضعیت پروسس) به شرح زیر می توانید پروسس های خود را به راحتی مشاهده کنید.

      مثال : 

      یکی از شایع ترین فلگ های PS ، گزینه (f ( f for full- است که اطلاعات بیش تری را در شکل زیر ارائه می دهد.

      مثال : 

      در این جا توضیحات کلیه فیلدهای نمایش داده شده توسط دستور ps -f ارائه شده است.

      ردیفستون و توضیحات
      ۱UID

      User ID که به این پروسس تعلق دارد (شخصی که آن را اجرا می کند)

       

      ۲PID

      Process ID

      ۳PPID

      پروسس ID والدین (ID پروسسی که آن را آغاز کرده است)

       

      ۴C

      بهره وری CPU از پروسس

       

      ۵STIME

      زمان شروع پروسس

       

      ۶TTY

      نوع ترمینال مربوط به پروسس

       

      ۷TIME

      با استفاده از آن مدت زمان اجرا شدن دستور ها را اندازه می‌گیرند.

       

      ۸CMD

      دستوری که پروسس را شروع کرده است.

      گزینه های دیگری نیز وجود دارد که می تواند به همراه دستور ps استفاده شود.

      ردیفآپشن و شرح
      ۱a-

      اطلاعات مربوط به همه کاربران را نشان می دهد.

       

      ۲x-

      اطلاعات مربوط به پروسس های بدون پایانه را نشان می دهد.

       

      ۳u-

      اطلاعات اضافی مانند گزینه f- را نشان می دهد.

       

      ۴e-

      اطلاعات توسعه یافته را نشان می دهد

      کلام پایانی

      مدیریت Process ها در یونیکس را در این بخش از آموزش یونیکس مورد بررسی قرار دادیم. در بخش بعدی نیز این مبحث را ادامه خواهیم داد. با وب سایت آموزشی پی وی لرن و آموزش یونیکس همراه باشید.

      QR:  جلسه ۰۸-۰۱ : مدیریت Process ها در یونیکس
      به اشتراک بگذارید