ویژگی تصویر

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

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

در این بخش به بررسی دستور bg در لینوکس می پردازیم، سیستم‌عامل لینوکس به دلیل قدرت و انعطاف‌پذیری خود در مدیریت فرآیندها و برنامه‌ها، همواره یکی از محبوب‌ترین سیستم‌ها برای کاربران حرفه‌ای و برنامه‌نویسان بوده است. در لینوکس، فرآیندها (processes) می‌توانند در دو حالت اصلی اجرا شوند: به صورت foreground (پیش‌زمینه) و background (پس‌زمینه). هنگامی که فرآیندی در حالت پیش‌زمینه اجرا می‌شود، کاربر باید منتظر بماند تا این فرآیند پایان یابد، اما در حالت پس‌زمینه، کاربر می‌تواند به کارهای دیگری ادامه دهد و فرآیند در پس‌زمینه به کار خود ادامه می‌دهد.

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

مفهوم فرآیند در لینوکس

پیش از اینکه به دستور bg بپردازیم، بهتر است ابتدا با مفهوم فرآیندها در لینوکس آشنا شویم. فرآیند یا Process به هر برنامه یا دستوری اطلاق می‌شود که در حال اجرا در سیستم است. هر فرآیند در لینوکس یک شناسه منحصر به فرد به نام PID (Process ID) دارد. فرآیندها می‌توانند به دو صورت پیش‌زمینه (Foreground) و پس‌زمینه (Background) اجرا شوند.

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

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

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

ping google.com

در این حالت، تنها راه توقف اجرای برنامه، استفاده از کلیدهای Ctrl + C برای خاتمه دادن به آن است. اما اگر بخواهیم همین برنامه را به صورت پس‌زمینه اجرا کنیم، می‌توانیم با افزودن & به انتهای دستور، آن را به پس‌زمینه منتقل کنیم:

ping google.com &

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

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

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

نحوه کارکرد دستور bg

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

bg

این دستور آخرین فرآیند متوقف شده را به پس‌زمینه منتقل کرده و ادامه اجرای آن را ممکن می‌سازد.

استفاده از bg با مشخص کردن شماره فرآیند

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

jobs

این دستور لیستی از فرآیندهای متوقف شده و پس‌زمینه را نمایش می‌دهد. سپس می‌توانید با استفاده از دستور bg و شماره فرآیند مورد نظر، آن فرآیند خاص را به پس‌زمینه منتقل کنید. برای مثال، اگر شماره فرآیند 2 باشد:

bg %2

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

کاربردهای عملی دستور bg

مثال ۱: اجرای همزمان چند دستور

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

command1
Ctrl + Z

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

command2
Ctrl + Z

اکنون می‌توانید هر دو برنامه را با استفاده از دستور bg به پس‌زمینه منتقل کنید:

bg %1
bg %2

با این کار، هر دو برنامه به صورت پس‌زمینه اجرا می‌شوند و شما می‌توانید به کارهای دیگری بپردازید.

مثال ۲: مدیریت فرآیندهای متوقف شده

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

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

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

fg %2

این دستور فرآیند شماره 2 را به پیش‌زمینه منتقل کرده و کنترل ترمینال را به آن فرآیند می‌دهد.

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

منابع

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

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

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