کنترل پروسهها در خط فرمان لینوکس
اکنون که میتوانیم پروسهها را ببینیم و آنها را مانیتور کنیم. بایستی کمی بر روی آنها پیدا کنیم. به منظور آزمون از یک برنامه کوچک که xlogo نام دارد استفاده میکنیم.
برنامه xlogo یک برنامه نمونه است که X Window System (دستگاه زیربنایی که باعث میشود تصویر گرافیکی بر روی نمایشگر نمایان شود) عرضه شده است.
X Window به سادگی یک پنجره با قابلیت تغییر اندازه که حاوی لوگو x است را نمایش داده که آن را تست میکنیم:
1 |
[me@linuxbox ~]$ xlogo |
پس از آن که فرمان xlogo را در خط فرمان وارد کردید یک پنجره کوچک حاوی لوگو بایستی بر روی صفحه نمایش نمایان شود. بر روی برخی سیستمها این فرمان ممکن است یک پیام هشدار را نمایش دهد که میتوان آن را نادیده گرفت.
ایجاد وقفه در یک پروسه
بیایید ببینیم چه اتفاقی رخ خواهد داد که دوباره برنامه xlogo را اجرا کنیم. اول فرمان xlogo را وارد کنید و مطمئن شوید که برنامه در حال اجراست. سپس به ترمینال بازگشته و کلیدهای ترکیبی Ctrl+C را فشار دهید:
1 2 |
[me@linuxbox ~]$ xlogo [me@linuxbox ~]$ |
در داخل ترمینال وارد کردن Ctrl+C باعث ایجاد وقفه در یک برنامه میشود. به این معنا که ما خیلی از برنامه درخواست کردهایم که پایان بیابد. وقتی که xlogo را وارد کردیم، پنجره xlogo بسته میشود و خط فرمان به حالت عادی باز میگردد.
در بسیاری از برنامهها (نه لزوماً همه آنها) میتوان با استفاده از این تکنیک در خط فرمان وقفه ایجاد نمود.
قرار دادن یک پروسه در پسزمینه
فرض کنید که میخواهیم بدون پایان دادن به برنامه xlogo به خط فرمان شل (Shell) بازگردیم. این کار را با قرار دادن برنامه در حال اجرا در پسزمینه انجام خواهیم داد. فرض کنید که ترمینال دارای یک نمای جلویی (با چیزهایی که بر روی آن نمایان است) و یک نمای پسزمینه (با چیزهایی که در زیر آن مخفی است) میباشد. برای اجرای برنامه و قرار دادن سریع آن در پسزمینه پس از فرمان یک علامت & قرار میدهیم:
1 2 3 |
[me@linuxbox ~]$ xlogo & [1] 28236 [me@linuxbox ~]$ |
پس از ان که فرمان وارد شده، پنجره xlogo نمایان میشود ولی این بار خط فرمان شل (Shell) باز میگردد. توجه کنید اعدادی هم نمایش داده میشوند. این پیام بخشی از ویژگی Shell تحت عنوان «کنترل وظیفه» میباشد. با این پیام Shell به ما میگوید که ما کار شماره ۱ را آغاز کردهایم که دارای PID به شماره ۲۸۲۳۶ است. اگر که فرمان ps را وارد کنیم، مشاهده میکنیم که این پروسه به لیست پروسه اضافه شده است:
1 2 3 4 5 |
[me@linuxbox ~]$ ps PID TTY TIME CMD 10603 pts/1 00:00:00 bash 28236 pts/1 00:00:00 xlogo 28239 pts/1 00:00:00 ps |
ویژگی کنترل وظیفه همچنین به ما این قابلیت را میدهد که لیست کارهایی که از ترمینال اجرا شدهاند را مشاهده کنیم:
1 2 |
[me@linuxbox ~]$ jobs [1]+ Running xlogo & |
بازگردان یک پروسه به نمای جلویی
پروسهای که در پسزمینه در حال اجراست از ورودیهای صفحه کلید مصون است، شامل هر گونه وقفه که با وارد کردن Ctrl+C ایجاد میشود. به منظور بازگرداندن یک پروسه به نمای جلویی از دستور fg استفاده کنید، به مثال زیر دقت کنید:
1 2 3 4 |
[me@linuxbox ~]$ jobs [1]+ Running xlogo & [me@linuxbox ~]$ fg %1 xlogo |
توقف یک پروسه
برخی اوقات ما میخواهیم که یک پروسه را بدون از بین بردن و پایان دادن آن متوقف کنیم. این کار معمولاً به این دلیل انجام میشود که به ما اجازه دهد تا پروسهای را از نمای جلویی به پسزمینه منتقل کنیم. به منظور توقف یک پروسه در نمای جلویی Ctrl+Z را وارد کنید. به مثال زیر توجه کنید:
1 2 3 |
[me@linuxbox ~]$ xlogo [1]+ Stopped xlogo [me@linuxbox ~]$ |
پس از متوقف کردن xlogo ما میتوانیم با تغییر اندازه پنجره xlogo تایید کنیم که برنامه متوقف شده است.
برای بازگرداندن برنامه به نمای جلویی فرمان fg %1 را وارد کنید و به منظور انتقال برنامه به پسزمینه فرمان bg %1 را وارد نمایید:
1 2 3 |
[me@linuxbox ~]$ bg %1 [1]+ xlogo & [me@linuxbox ~]$ |
درباره فرشید نوتاش حقیقت
همیشه نیازمند یک منبع آموزشی فارسی در حوزه نرمافزارهای آزاد/ متنباز و سیستمعامل گنو/لینوکس بودم. از این رو این رسالت رو برای خودم تعریف کردم تا رسانه «محتوای باز» رو بوجود بیارم.
نوشتههای بیشتر از فرشید نوتاش حقیقتاین سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش میشوند.
دیدگاهتان را بنویسید