یکی از مواردی که به عنوان یک توسعهدهنده یا مدیر سرور ممکنه براتون مشکل آفرین بشه این هست که یک دستور یا اسکریپت با زمان اجرای بلندمدت را فراخوانی کردین و حالا به هر دلیلی ارتباط SSH شما قطع میشه و حالا مجبورین همه چیز را از ابتدا انجام بدین!
از جمله ابزارهایی که کمک میکنه در یک SSH Session شما چندین Terminal Session موازی داشته باشین ابزار screen هست. به چنین ابزاری اصطلاحاً Terminal Multiplexer میگویند که غیر از screen میتونم به ابزار کارآمدتری مثل tmux اشاره کنم که به خاطر سادگی ترجیح میدم screen را معرفی کنم.
برای نصبش دستور زیر را میزنیم:
sudo apt install screen
حالا با دستور زیر یک session با نام longBackup ایجاد میکنیم که پس از زدن فرمان screen ما را در Session جدید قرار خواهد داد:
screen -S longBackup
پس از وارد شدن به Session جدید فرمان یا اسکریپتی که زمانبر هست را اجرا میکنیم و از طریق میانبر CTRL+A CTRL+D (هر دو پشت سر هم) از Session خارج میشویم. پس از خروج از Session با دستور زیر میتوانیم Session های ایجاد شده را فهرست کنیم:
screen -ls
اکنون با خیال راحت میتونیم ارتباط SSH خود را قطع کنیم و هر زمان فرصت داشتیم با دستور زیر وضعیت longBackup را چک کنیم:
screen -r longBackup
بدیهی است که با دستور exit میتوانیم از Session جاری خارج شویم.