ویژگی تصویر

دستور fg در لینوکس

  /  لینوکس   /  دستور fg در لینوکس
بنر تبلیغاتی الف
لینوکس - linux

در این بخش به بررسی دستور fg در لینوکس می پردازیم، لینوکس به عنوان یکی از محبوب‌ترین سیستم‌عامل‌های متن‌باز، قابلیت‌های متعددی برای مدیریت فرآیندها (Processes) ارائه می‌دهد. یکی از مهم‌ترین این قابلیت‌ها، مدیریت فرآیندها در حالت‌های پیش‌زمینه (Foreground) و پس‌زمینه (Background) است. هنگامی که کاربری با دستورات مختلف در لینوکس کار می‌کند، امکان دارد نیاز داشته باشد که برخی از فرآیندها را از حالت پس‌زمینه به پیش‌زمینه بیاورد تا بتواند کنترل کامل آن فرآیند را به دست گیرد. در چنین شرایطی، دستور fg به کار می‌آید.

دستور fg در لینوکس به کاربر این امکان را می‌دهد تا فرآیندهای پس‌زمینه یا متوقف‌شده را به حالت پیش‌زمینه بازگرداند و به صورت مستقیم با آن‌ها تعامل کند. این دستور برای کاربرانی که به مدیریت همزمان چندین فرآیند نیاز دارند بسیار کاربردی است. در این مقاله، به بررسی عمیق و جامع دستور fg، نحوه عملکرد آن، و ارائه مثال‌هایی عملی خواهیم پرداخت.

فرآیندهای پیش‌زمینه و پس‌زمینه در لینوکس

قبل از پرداختن به جزئیات دستور fg، لازم است تفاوت بین فرآیندهای پیش‌زمینه و پس‌زمینه را در لینوکس مرور کنیم. فرآیندهای پیش‌زمینه، همان فرآیندهایی هستند که به طور مستقیم در ترمینال اجرا می‌شوند و تا زمانی که به پایان نرسند، کاربر نمی‌تواند دستور دیگری را اجرا کند. در این حالت، فرآیند به طور کامل کنترل ترمینال را در اختیار دارد.

از طرف دیگر، فرآیندهای پس‌زمینه، فرآیندهایی هستند که بدون اشغال کردن ترمینال به کار خود ادامه می‌دهند و به کاربر اجازه می‌دهند تا دستورات دیگر را همزمان اجرا کند. این ویژگی به کاربران این امکان را می‌دهد که چندین کار را به طور همزمان انجام دهند. دستور fg در مواقعی که کاربر نیاز به بازگرداندن کنترل یک فرآیند پس‌زمینه به پیش‌زمینه دارد، به کار می‌آید.

متوقف کردن فرآیندها و اجرای آن‌ها در پس‌زمینه

قبل از اینکه فرآیندی را به پیش‌زمینه بیاورید، لازم است بدانید چگونه فرآیندها را به حالت پس‌زمینه منتقل کنید یا متوقف کنید. یکی از روش‌های ساده متوقف کردن یک فرآیند در حال اجرا استفاده از ترکیب کلیدهای Ctrl + Z است. این ترکیب باعث می‌شود فرآیند متوقف (Stopped) شود. به عنوان مثال:

ping google.com
Ctrl + Z

با این کار، فرآیند ping متوقف می‌شود. سپس می‌توان با استفاده از دستور bg آن فرآیند را به پس‌زمینه فرستاد:

bg

حال اگر بخواهید این فرآیند را مجدداً به پیش‌زمینه بازگردانید، از دستور fg استفاده خواهید کرد.

دستور fg در لینوکس چیست؟

دستور fg (که مخفف Foreground است) در لینوکس برای بازگرداندن یک فرآیند متوقف شده یا در حال اجرا در پس‌زمینه به پیش‌زمینه به کار می‌رود. با استفاده از این دستور، فرآیند به پیش‌زمینه باز می‌گردد و کنترل کامل ترمینال به آن فرآیند اختصاص می‌یابد.

نحوه استفاده از دستور fg

برای استفاده از دستور fg، تنها کافی است آن را بدون هیچ آرگومانی اجرا کنید. این دستور آخرین فرآیند متوقف شده یا پس‌زمینه را به پیش‌زمینه بازمی‌گرداند. به عنوان مثال:

fg

این دستور، آخرین فرآیند متوقف شده را به پیش‌زمینه منتقل کرده و آن را ادامه می‌دهد. اگر چندین فرآیند متوقف شده دارید، می‌توانید با مشخص کردن شماره فرآیند (job number) فرآیند خاصی را به پیش‌زمینه منتقل کنید.

مشاهده فرآیندهای متوقف‌شده و در پس‌زمینه

برای مشاهده لیست فرآیندهای متوقف شده یا در پس‌زمینه، می‌توانید از دستور jobs استفاده کنید. این دستور فهرستی از فرآیندهایی که در حال حاضر در پس‌زمینه اجرا می‌شوند یا متوقف شده‌اند را نمایش می‌دهد. به عنوان مثال:

jobs

نتیجه این دستور ممکن است چیزی مشابه زیر باشد:

[1]+  Stopped                 ping google.com
[2]-  Running                 top &

در اینجا، دو فرآیند در حال اجرا و متوقف شده وجود دارند. فرآیند شماره 1 متوقف شده است، و فرآیند شماره 2 در پس‌زمینه اجرا می‌شود. شما می‌توانید هر یک از این فرآیندها را با استفاده از دستور fg به پیش‌زمینه بازگردانید.

استفاده از fg با شماره فرآیند

اگر چندین فرآیند متوقف شده دارید و می‌خواهید فرآیند خاصی را به پیش‌زمینه منتقل کنید، باید از شماره فرآیند یا job number استفاده کنید. برای این کار، ابتدا شماره فرآیند مورد نظر را با استفاده از دستور jobs پیدا کنید و سپس با استفاده از fg آن فرآیند را به پیش‌زمینه ببرید:

fg %1

در این مثال، فرآیند شماره 1 که با دستور jobs مشخص شده است، به پیش‌زمینه منتقل می‌شود.

مثال‌های کاربردی دستور fg

مثال ۱: مدیریت چندین فرآیند

فرض کنید شما در حال اجرای چندین برنامه در ترمینال هستید و نیاز دارید که یکی از این برنامه‌ها را موقتاً متوقف کنید و سپس دوباره به آن بازگردید. برای این کار، ابتدا برنامه را اجرا کرده و سپس با استفاده از Ctrl + Z آن را متوقف کنید:

nano file.txt
Ctrl + Z

سپس می‌توانید با استفاده از دستور fg به آن برنامه بازگردید:

fg

با این دستور، برنامه nano به پیش‌زمینه بازمی‌گردد و شما می‌توانید به ویرایش فایل ادامه دهید.

مثال ۲: بازگرداندن یک فرآیند خاص به پیش‌زمینه

این قسمت/بخشی از محتوا مخفی شده است و فقط برای اعضای وب سایت قابل مشاهده می باشد، لطفاً با حساب کاربری وارد شوید.
لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان گرافیک است، چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است، و برای شرایط فعلی تکنولوژی مورد نیاز، و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد، کتابهای زیادی در شصت و سه درصد گذشته حال و آینده، شناخت فراوان جامعه و متخصصان را می طلبد، تا با نرم افزارها شناخت بیشتری را برای طراحان رایانه ای علی الخصوص طراحان خلاقی، و فرهنگ پیشرو در زبان فارسی ایجاد کرد، در این صورت می توان امید داشت که تمام و دشواری موجود در ارائه راهکارها، و شرایط سخت تایپ به پایان رسد و زمان مورد نیاز شامل حروفچینی دستاوردهای اصلی، و جوابگوی سوالات پیوسته اهل دنیای موجود طراحی اساسا مورد استفاده قرار گیرد.لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان گرافیک است، چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است، و برای شرایط فعلی تکنولوژی مورد نیاز، و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد، کتابهای زیادی در شصت و سه درصد گذشته حال و آینده، شناخت فراوان جامعه و متخصصان را می طلبد، تا با نرم افزارها شناخت بیشتری را برای طراحان رایانه ای علی الخصوص طراحان خلاقی، و فرهنگ پیشرو در زبان فارسی ایجاد کرد، در این صورت می توان امید داشت که تمام و دشواری موجود در ارائه راهکارها، و شرایط سخت تایپ به پایان رسد و زمان مورد نیاز شامل حروفچینی دستاوردهای اصلی، و جوابگوی سوالات پیوسته اهل دنیای موجود طراحی اساسا مورد استفاده قرار گیرد.لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان گرافیک است، چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است، و برای شرایط فعلی تکنولوژی مورد نیاز، و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد، کتابهای زیادی در شصت و سه درصد گذشته حال و آینده، شناخت فراوان جامعه و متخصصان را می طلبد، تا با نرم افزارها شناخت بیشتری را برای طراحان رایانه ای علی الخصوص طراحان خلاقی، و فرهنگ پیشرو در زبان فارسی ایجاد کرد، در این صورت می توان امید داشت که تمام و دشواری موجود در ارائه راهکارها، و شرایط سخت تایپ به پایان رسد و زمان مورد نیاز شامل حروفچینی دستاوردهای اصلی، و جوابگوی سوالات پیوسته اهل دنیای موجود طراحی اساسا مورد استفاده قرار گیرد.

مثال ۳: بازگرداندن فرآیندهای متوقف‌شده پس از ریستارت

یکی از کاربردهای جالب دستور fg زمانی است که پس از متوقف کردن فرآیندها، سیستم ریستارت می‌شود و فرآیندها همچنان متوقف می‌مانند. در این شرایط، می‌توانید با دستور jobs وضعیت فرآیندهای متوقف شده را مشاهده کرده و با استفاده از fg فرآیندهای مورد نظر را به پیش‌زمینه بازگردانید.

تفاوت دستور fg و bg

در حالی که دستور fg فرآیند متوقف شده یا در پس‌زمینه را به پیش‌زمینه منتقل می‌کند، دستور bg برای ادامه دادن یک فرآیند متوقف شده در پس‌زمینه به کار می‌رود. به طور خلاصه، fg فرآیند را به پیش‌زمینه آورده و کنترل کامل آن را به ترمینال می‌دهد، در حالی که bg تنها فرآیند را بدون اشغال ترمینال به پس‌زمینه می‌فرستد.

مثال: استفاده همزمان از fg و bg

فرض کنید برنامه‌ای را متوقف کرده‌اید و حالا می‌خواهید آن را در پس‌زمینه اجرا کنید. ابتدا با Ctrl + Z برنامه را متوقف می‌کنید، سپس با استفاده از bg آن را به پس‌زمینه می‌فرستید:

Ctrl + Z
bg

اکنون اگر بخواهید دوباره به فرآیند دسترسی پیدا کنید و آن را به پیش‌زمینه بیاورید، از دستور fg استفاده می‌کنید:

fg

دستور fg یکی از ابزارهای مهم در مدیریت فرآیندهای لینوکسی است که به کاربران این امکان را می‌دهد تا فرآیندهای متوقف شده یا در پس‌زمینه را به پیش‌زمینه منتقل کنند. با استفاده از این دستور، کاربران می‌توانند کنترل کاملی بر روی فرآیندها داشته باشند و در صورت نیاز، آن‌ها را به صورت مستقیم مدیریت کنند. آشنایی با دستور fg و تفاوت آن با bg برای کاربران حرفه‌ای لینوکس ضروری است و به بهبود بهره‌وری و مدیریت بهتر فرآیندها کمک می‌کند.

منابع

  1. Official GNU Documentation
  2. Linux man page for fg command
  3. Linux Process Management

آیا این مطلب برای شما مفید بود ؟

خیر
بله
موضوعات شما در انجمن: