خیلی از اوقات به عنوان مدیر سرور لینوکس، نیاز دارید تا دستوراتی را اجرا کنید که مدت زمان زیادی طول میکشد تا به اتمام برسند. از طرف دیگر چون اجرای موفق دستورات لینوکس منوط به اتصال مداوم و پایدار شما به عنوان کاربر، به خط فرمان و عموماً محیط SSH است، اگر این ارتباط به هر دلیلی قطع شود، با ارسال سیگنال HangUp به پردازشهای در حال اجرا، عملیات لغو و بعضاً حتی ممکن است مشکلات عدیدهای برای سرور شما رخ دهد.
به همین دلیل باید روشی را در پیش بگیریم که جدای از اتصال ما به سرور، پردازشها بدون هیچ گونه خللی تا انتهای کار انجام شوند. مثل زمانی که به عنوان اولین کار قصد نصب خود کنترل پنل را دارید، یا روی کنترل پنل دایرکت ادمین با استفاده از CustomBuild قصد کامپایل کردن اجزاء نرم افزاری سرور خود را دارد. این عملیات معمولاً بیشتر از چند دقیقه طول خواهند کشید.
یکی از راهکارها این است که از دستور nohup استفاده کنیم. این دستور را مینویسیم و سپس دستور اصلی را بعد از آن وارد میکنیم. در این حالت خروجی دستورات ممکن است با دیگر خروجیهای روی Screen مخلوط شود. بنابراین روش دیگر و بهتر، استفاده از دستور screen است.
عمدتاً بستهٔ نرم افزاری screen روی سرورهای لینوکس نصب نیست. پس باید آن را با استفاده از دستورات زیر نصب کنید:
روی CentOS و RedHat و توزیع های مشابه:
yum install screen -y
روی Ubuntu و Debian و توزیع های مشابه:
apt-get install screen -y
روی توزیعهای مشابه CentOS ممکن است به شما هشدار دهد که بستهٔ نرم افزاری مورد نظر یافت نشد. برای رفع این مشکل، ابتدا با استفاده از دستور زیر مخزن EPEL را نصب کنید و مجدد امتحان نمایید:
yum install epel-release -y
حال که بستهٔ نرم افزار screen را نصب کردید، الان وقت آن است که یک بار دستور screen را اجرا کنید. برای یک در همان حالت، یک پنجرهٔ دیگر باز خواهد شد که دستوراتتان را میتوانید در آن وارد کنید. هر زمان که کارتان به اتمام رسید، با اجرای یک بار دستور exit از محیط آن نما خارج خواهید شد.
هر زمان هم به هر دلیلی اتصالتان قطع شد، با اجرای دستور زیر خیلی راحت میتوانید مجدد وارد نمای قبلی شوید.
screen -r
برای فهرست کردن تمامی نماهای نرم افزار screen هم دستور زیر به کارتان خواهد آمد.
screen -ls
اگر چند تا نما یا screen ساخته باشید، برای ورود به یک نمای خاص باید شناسه یا id هر نما را در انتهای دستور ورود به screen مربوطه وارد کنید. مثل نمونهٔ زیر:
screen -r 1234
دریافت شناسهٔ نما را از طریق دستور screen -ls میتوانید دریافت کنید.