مدیریت پروسه ها با bg و fg در لینوکس
در این بخش به بررسی مدیریت پروسه ها با bg و fg در لینوکس می پردازیم، در سیستمعامل لینوکس، پروسهها به صورت خودکار توسط سیستم مدیریت میشوند، اما کاربران و مدیران سیستمها نیاز دارند تا گاهی اوقات پروسهها را بهصورت دستی مدیریت کنند. این نیاز معمولاً زمانی پیش میآید که بخواهیم پروسهها را به پسزمینه انتقال دهیم یا آنها را از پسزمینه به پیشزمینه برگردانیم. دو دستور مهم که برای مدیریت این نوع پروسهها در لینوکس استفاده میشوند، دستورات bg و fg هستند. با استفاده از این دستورات میتوانیم پروسههایی که در حال اجرا در پیشزمینه یا پسزمینه هستند را مدیریت کرده و کنترل بیشتری بر فعالیتهای سیستم داشته باشیم.
این قابلیت به مدیران سیستم کمک میکند تا پروسههایی که در پسزمینه در حال اجرا هستند بدون توقف ادامه یابند و همزمان میتوانند کارهای دیگری در ترمینال انجام دهند. مدیریت درست پروسهها میتواند به بهینهسازی عملکرد سیستم کمک کند و انعطافپذیری بیشتری را در انجام وظایف مختلف فراهم کند. در این مقاله، ما به بررسی کامل نحوه استفاده از دستورات bg و fg برای مدیریت پروسهها در لینوکس میپردازیم و با ارائه مثالهای عملی، نحوه کار با این دستورات را توضیح خواهیم داد.
۱. پروسهها در لینوکس: مروری کوتاه
پروسه در لینوکس به هر برنامه یا دستوری گفته میشود که در حال اجرا باشد. هر بار که یک برنامه را اجرا میکنید، یک پروسه جدید ایجاد میشود و این پروسه تا زمان اتمام یا بسته شدن آن برنامه ادامه دارد. پروسهها میتوانند به دو صورت اجرا شوند: در پیشزمینه (Foreground) یا در پسزمینه (Background). پروسههای پیشزمینه، کنترل ترمینال را در اختیار دارند و کاربر نمیتواند همزمان با اجرای آنها دستورات دیگری را در همان ترمینال وارد کند. در مقابل، پروسههای پسزمینه بدون کنترل مستقیم کاربر اجرا میشوند و کاربر میتواند به ترمینال دسترسی داشته باشد و دستورات دیگری را اجرا کند.
به عنوان مثال، زمانی که شما یک ویرایشگر متن مانند nano را باز میکنید، این برنامه به صورت یک پروسه پیشزمینه اجرا میشود و تا زمانی که آن را ببندید، نمیتوانید دستور دیگری را وارد کنید. اما اگر بخواهید این برنامه را به پسزمینه منتقل کنید و به انجام کارهای دیگری بپردازید، باید از دستور bg استفاده کنید.
۲. دستور bg: انتقال پروسه به پسزمینه
دستور bg در لینوکس برای انتقال پروسههای متوقف شده به پسزمینه استفاده میشود. گاهی اوقات نیاز است که یک پروسه را به حالت متوقف (Suspended) در بیاورید و سپس آن را در پسزمینه اجرا کنید تا بتوانید به کارهای دیگر در ترمینال بپردازید. زمانی که شما از دستور Ctrl + Z استفاده میکنید، پروسه متوقف میشود و با استفاده از دستور bg میتوانید آن را به پسزمینه بفرستید.
مثال:
فرض کنید در حال اجرای برنامهای هستید که زمان زیادی برای کامل شدن نیاز دارد و میخواهید از آن لحظه به بعد از ترمینال برای اجرای دستورات دیگر استفاده کنید.
- ابتدا دستور زیر را وارد کنید تا یک برنامه یا پروسه در حال اجرا را متوقف کنید:
nano myfile.txtحالا با زدن Ctrl + Z، این پروسه متوقف میشود.
- سپس دستور
bgرا وارد کنید تا پروسه به پسزمینه منتقل شود:
bgاین دستور پروسه nano را به پسزمینه میبرد و شما میتوانید به استفاده از ترمینال برای اجرای دستورات دیگر ادامه دهید.
توضیحات:
هنگامی که پروسه به پسزمینه منتقل میشود، خروجی پروسه در همان ترمینال نمایش داده نمیشود. اما پروسه همچنان در حال اجرا است و شما میتوانید به راحتی کارهای دیگر را در ترمینال انجام دهید.
۳. دستور fg: بازگرداندن پروسه به پیشزمینه
دستور fg برای بازگرداندن یک پروسه پسزمینه به پیشزمینه استفاده میشود. ممکن است بخواهید یک پروسه را که در پسزمینه اجرا میشود، به پیشزمینه برگردانید تا بتوانید کنترل مستقیم روی آن داشته باشید.
مثال:
فرض کنید برنامهای که در پسزمینه اجرا میشود را میخواهید به پیشزمینه بازگردانید.
- ابتدا با زدن دستور زیر، پروسهای را به پسزمینه منتقل کنید:
bg- سپس دستور زیر را وارد کنید تا پروسه به پیشزمینه بازگردد:
fgتوضیحات:
بعد از اجرای دستور fg، پروسه به پیشزمینه بازمیگردد و کنترل آن دوباره به شما باز میگردد. این بدان معناست که دیگر نمیتوانید دستورات دیگری را در ترمینال وارد کنید تا زمانی که پروسه فعلی خاتمه یابد.
۴. کار با چند پروسه همزمان
۵. استفاده از & برای اجرای مستقیم پروسه در پسزمینه
علاوه بر دستورات bg و fg، شما میتوانید هنگام اجرای یک دستور، آن را مستقیماً در پسزمینه اجرا کنید. برای این کار، کافی است از & در انتهای دستور استفاده کنید.
مثال:
برای اجرای یک دستور در پسزمینه، از این روش استفاده کنید:
ping google.com &توضیحات:
دستور ping بدون نیاز به متوقف شدن در پیشزمینه، به پسزمینه فرستاده میشود و شما میتوانید به استفاده از ترمینال ادامه دهید.
مدیریت پروسهها در لینوکس با استفاده از دستورات bg و fg یکی از مهارتهای پایه و مهم برای مدیران سیستم و کاربران لینوکس است. این دستورات به شما امکان میدهند تا پروسههای خود را به سادگی بین پسزمینه و پیشزمینه جابجا کرده و از سیستم خود بهرهوری بیشتری کسب کنید. یادگیری این دستورات و استفاده مناسب از آنها به بهبود عملکرد سیستم و کنترل بهتر بر پروسهها کمک میکند.
آیا این مطلب برای شما مفید بود ؟



