'হারানো' স্ক্রিন সেশনটি কীভাবে পুনরুদ্ধার করবেন?


80

কোনওভাবেই আমি স্ক্রিনটিকে 'লক্ষ্য' না করেই স্ক্রিন উইন্ডোটি বন্ধ করে দিয়েছি, সুতরাং সেশনটি এখনও এটি হিসাবে চিহ্নিত করা হয়েছে attached। এটি আমাকে এই অধিবেশনটিতে পুনরায় সংযুক্ত হতে বাধা দেয়। আমি কি করতে পারি?

me@iupr-serv8:~$ screen -r
There are several suitable screens on:
    25028.pts-19.XXX-serv8  (01/05/2012 07:15:34 PM)    (Attached)
    24658.pts-19.XXX-serv8  (01/05/2012 07:11:38 PM)    (Detached)
    24509.pts-19.XXX-serv8  (01/05/2012 07:10:00 PM)    (Detached)
    18676.pts-5.XXX-serv8   (01/02/2012 06:55:33 PM)    (Attached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.
me@XXX-serv8:~$ screen -r 25028
There is a screen on:
    25028.pts-19.XXX-serv8  (01/05/2012 07:15:33 PM)    (Attached)
There is no screen to be resumed matching 25028.

[হালনাগাদ]

শেষ পর্যন্ত আমি জানতে পেরেছি যে, অধিবেশনটি হারানো হয়নি, তবে প্রথম সেশনের আইডি 0। দ্বিতীয় সেশনের চেয়ে আইডি রয়েছে 1

উত্তর:


108

প্রথমে এটি আলাদা করার চেষ্টা করুন screen -d। যদি এটি কাজ না করে, আপনি জোরের ক্রম বাড়িয়ে চেষ্টা করতে পারেন ,

   -d|-D [pid.tty.host]
        does  not  start screen, but detaches the elsewhere running screen session. It has the
        same effect as typing "C-a d" from screen's controlling terminal. -D is the equivalent
        to  the  power  detach key.  If no session can be detached, this option is ignored. In
        combination with the -r/-R option more powerful effects can be achieved:

   -d -r   Reattach a session and if necessary detach it first.

   -d -R   Reattach a session and if necessary detach or even create it first.

   -d -RR  Reattach a session and if necessary detach or create it. Use the first  session  if
           more than one session is available.

   -D -r   Reattach a session. If necessary detach and logout remotely first.

   -D -R   Attach  here and now. In detail this means: If a session is running, then reattach.
           If necessary detach and logout remotely first.  If it was not running create it and
           notify the user. This is the author's favorite.

   -D -RR  Attach here and now. Whatever that means, just do it.

11
-d -rঅপশন একসঙ্গে যে অধিবেশন সংযুক্ত বাধ্য করা হবে।
টিম কেনেডি

আমি সর্বদা ব্যবহার করি screen -xতাই আমি একসাথে একাধিক অবস্থান থেকে সংযুক্ত করতে পারি। অবশ্যই, আপনি যদি দুর্ঘটনাক্রমে কোনও উইন্ডোটি বন্ধ করেন তবে মনে -d -rহয় বিষয়গুলি পরিষ্কার রাখার চেয়ে ভাল।
এমপন্টিলো

5
screen -r '1234.somescreensession'

এখানে একটি পর্দা রয়েছে:

1234.সোমস্ক্রিনেসিওন (সংযুক্ত)

1234.Somescreensession- এর সাথে মিলে যাওয়ার কোনও স্ক্রিন নেই।

এখানে স্ক্রিন সেশনটি ফিরে নেওয়ার একটি সহজ উপায়।

screen -D -r '1234.somescreensession'

4

আমার এসএসএস সংযোগটি বার্তাটির সাথে অপ্রত্যাশিতভাবে বন্ধ হওয়ার পরে আমি একই Write Failed: broken pipeস্ক্রিন সেশনটি সংযুক্ত করার পরে একই সমস্যার সম্মুখীন হয়েছি। তবে উপরের কোনও কমান্ড ব্যবহার করে পুনরায় সংযোগ করতে আমি আমার স্ক্রিন সেশনটি পেতে পারি না not মনে রাখবেন যে আমি নিম্নলিখিত সংস্করণটি ব্যবহার করছি:

~> screen --version
Screen version 4.00.03 (FAU) 23-Oct-06

স্পষ্টতই, এখনও sshdদৌড়ানোর একটি নজির ছিল , যা আমাকে অধিবেশনটি পৃথকীকরণ এবং পুনরায় পাঠানো থেকে বিরত রাখে। PIDএর যথাযথ উদাহরণটি সনাক্ত করার পরে sshdএবং killএটির সাথে আমি পুনরায় যোগাযোগ করতে সক্ষম হয়েছি screen -r


কেবল তথ্যের জন্য: আপনি অবশ্যই একের অধিক sshdভূতকে খুঁজে পাবেন , একটি আপনার বর্তমান লগিনের সাথে এবং অন্যটি বাসি screenঅধিবেশন সম্পর্কিত (প্রকৃতপক্ষে, একাধিক অন্যের সাথে একাধিক অন্য sshdচলমান থাকতে পারে screen) এর সাথে সম্পর্কিত।


আমার একই
ইস্যুটিতে

3

কিছু সময় পটভূমিতে একাধিক স্ক্রিন চলমান।

সেগুলি এর মাধ্যমে আবার চালু করা যেতে পারে:

screen -r [pid]

স্ক্রিনটি পেতে, প্রথমে চালান screen -R, তারপরে আপনি পর্দার সমস্ত চলমান পিআইডি দেখতে পাবেন, এরপরে পুনরায় শুরু করুন screen -r [pid]

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.