فرض کنید در سیستمتان فرآیندهای زمانبری در حال اجرا است و شما نمیخواهید که با بسته شدن ترمینال، این فرآیندها قطع شوند. برای رسیدن به این هدف، شما باید آن فرآیندها را از جدول فرآیندهای فعال حذف کنید. در این صورت، پس بسته شدن ترمینال، فرآیند kill یا قطع نمیشود.
این مطلب نیز ممکن است برای شما مفید باشد: aria2 ابزار دانلود چند پروتکلی در ترمینال لینوکس
برای بستن ترمینال بدون قطع فرآیندهای در حال اجرا، دستورالعملهای زیر را دنبال کنید:
1. کلید ترکیبی CTRL+Z را فشار دهید تا فرآیند فعال کنونی متوقف شود.
$ zip -q -r home.zip *
^Z
[1]+ Stopped zip -q -r home.zip *
2. فرایند متوقف شده را در پس زمینه با اجرای دستور bg اجرا نمایید. این دستور، اجرای آخرین فرآیند متوقف شده را در پس زمینه قرار میدهد.
$ bg
[1]+ zip -q -r home.zip * &
3. در آخر، فرآیند فوق را از جدول فرآیندهای فعال حذف کنید. برای این کار، از دستور [disown -h jobspec] استفاده نمایید که درآن [jobspec] شماره فرآیند در حال اجرا در پس زمینه میباشد. بهعنوانمثال، دستور زیر برای اولین فرآیند در حال اجرا است.
$ disown -h %1
توجه: در اینجا 1، شناسه فرآیند درحال اجرا در پس زمینه میباشد. شما همچنین میتوانید از دستور "jobs -l" برای یافتن شناسه فرآیند استفاده کنید.
منبع:
0 دیدگاه
نوشتن دیدگاه