نحوه اجرای دستورات لینوکس در پس زمینه

85
0
اجرای دستورات لینوکس در پس زمینه

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

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

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

1. بعد از دستور خود یک Ampersand اضافه کنید

ساده‌ ترین راه برای اجرای دستور پس‌ زمینه لینوکس، اضافه کردن نماد (&) Ampersand بعد از دستور است. به عنوان مثال، اگر ویرایشگر متن gedit را از ترمینال خود راه اندازی کنید، تا زمانی که ویرایشگر را نبندید، نمی توانید از پوسته استفاده کنید. با این حال، هنگامی که یک & اضافی به دستور خود اضافه می کنید، می توانید بلا فاصله از پوسته استفاده کنید.

gedit &

2. از bg برای ارسال دستورات در حال اجرا به پس زمینه استفاده کنید

گاهی اوقات یک فرمان را اجرا می کنید اما متوجه شوید که اتمام آن خیلی بیشتر از تصور شما طول می کشد. با زدن کلیدهای Ctrl + Z و سپس استفاده از دستور bg می توانید به راحتی چنین دستوراتی را به پس زمینه ارسال کنید. با زدن Ctrl + Z روند اجرا متوقف می شود و bg آن را به پس زمینه می برد.

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

3. با nohup دستورات را به پس زمینه ارسال کنید

دستور nohup در لینوکس به مدیران اجازه می دهد تا دستورات ترمینال را اجرا کنند که در برابر سیگنال های HUP یا Hang Up مصون هستند. با استفاده از nohup می توانید به راحتی دستورات را در پس زمینه در لینوکس اجرا کنید.

مثال زیر یک اسکن پورت Nmap ساده را در پس زمینه اجرا می کند.

nohup sudo nmap -sS –top-ports=15 192.168.1.1/24

یکی از مزایای کلیدی nohup این است که دستورات شما حتی در صورت خروج از پوسته اجرا می شوند. علاوه بر این، فایل های ورود به سیستم اجرا را تولید می کند. به دنبال nohup.out در فهرست فعلی یا داخل $HOME بگردید.

4. دستورات پس زمینه را با استفاده از تغییر مسیرهای سیستم اجرا کنید

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

ping -c5 8.8.8.8 >output.log 2>&1 &

در اینجا خروجی دستور ping به فایل output.log هدایت می شود. اگر می ‌خواهید نتیجه را حذف کنید، می‌ توانید آن را با /dev/null جایگزین کنید. 2>&1 به Bash می گوید هر گونه خطا را به همان فایل هدایت کند. & در نهایت به Bash سیگنال می دهد تا این دستور را در پس زمینه اجرا کند.

5. با استفاده از disown، دستورات لینوکس را برای اجرا در پس زمینه تنظیم کنید

دستور disown اجرای فرآیندها در پس زمینه را آسان می کند. ابتدا باید کار را با استفاده از عملگر & به پس زمینه ارسال کنید. سپس، dirown را تایپ کنید تا آن را از پوسته خود جدا کنید.

gedit &
disown

یکی از مزیت‌های اصلی رد کردن این است که، مانند nohup، وقتی پوسته خود را می‌بندید یا از سیستم خارج می‌شوید، سیستم کاری که در حال انجام است را از بین نمی ‌برد.

6. با استفاده از tmux دستورات لینوکس را در پس زمینه اجرا کنید

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

tmux new -d ‘ping -c 10 8.8.8.8 > output.log’

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

دستورات لینوکس خود را در پس زمینه بگذارید

داشتن قابلیت اجرای دستورات در پس زمینه، مدیریت سیستم را برای ادمین ها موثرتر می کند. شما می توانید دستورات کاری خود را به روش های مختلفی به پس زمینه ارسال کنید. ویژگی‌های Bash مانند کاراکتر & و Ctrl + Z راحت هستند، اما وقتی پوسته بسته می ‌شود، سیستم کار پس ‌زمینه را از بین می‌ برد.

از سوی دیگر، ابزارهایی مانند nohup و disown حتی زمانی که از سیستم خارج می شوید یا پوسته را خاتمه می دهید، فرمان شما را اجرا می کنند.

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

امتیاز این مطلب
سهیل دهقانی
نوشته شده توسط

سهیل دهقانی

علاقه مند به فناوری و تکنولوژی های روز دنیا کارشناس سئو و تولید محتوا

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

گوگل فارکس آموزش تخصصی آمارکتس