একটি স্ক্রিন সেশন হত্যা


65

আমি একটি স্ক্রিন সেশন হত্যা করার চেষ্টা করছি। আমি সম্পর্কিত অন্যান্য প্রচুর প্রশ্ন লক্ষ্য করেছি, কিন্তু এই উত্তরগুলির কোনওটিই আমার পক্ষে কাজ করছে না। আমি নিম্নলিখিত অধিবেশনটি হত্যা করার চেষ্টা করছি:

screen -ls
There is a screen on:
    23520.pts-6.porkypig    (09/30/2013 02:49:47 PM)    (Detached)
1 Socket in /var/run/screen/S-root.

screen -r 23520.pts-6.porkypig

এখন আমি অধিবেশন। ডকুমেন্টেশন অনুযায়ী:

http://www.gnu.org/software/screen/manual/screen.html#Quit

আমার মনে হয় "কন্ট্রোল এ" এবং তারপরে "নিয়ন্ত্রণ \" টিপুন। আমি এটা করি এবং কিছুই হয় না।

আর একটি সমাধান Ctrl+ টিপুন aএবং টাইপ করতে বলেছেন : প্রস্থান করুন। যাইহোক, আবার এটি কিছুই করে না। আসলে, control+ টিপুন a, পরে "অন্য কোনও উইন্ডো না" বার্তা ব্যতীত আর কিছুই হয় না nothing


1
স্ক্রিন v4.x এ, সমস্ত সেশন মারার জন্য,ps aux | grep "SCREEN" | awk '{print $2}' | xargs kill
ফ্রেড্রিক গাউস

2
রেকর্ডের জন্য, আপনি পুরো স্ট্রিংটি অন্তর্ভুক্ত না করে কেবল করতে screen -r porkypigবা করতে পারেন screen -r 23520। স্ক্রিন নামগুলি জিনিসগুলি আরও জটিল করে তোলা সহজ নয় বলে মনে করা হয়।
মিক্কেল

উত্তর:


73

প্রথমে আপনার
screen -r 23520যেমনটি করা হয়েছে তেমন স্ক্রিন সেশনটির সাথে আপনাকে আবার সংযুক্ত করতে হবে। তারপরে ctrl+ aএবং তারপরে একটি মূলধনটি Kটিপুন এবং yযখন জিজ্ঞাসা করা হয় আপনি সেশনটি সত্যই হত্যা করতে চান কিনা তা চাপুন


2
স্ক্রিনের অভ্যন্তরে কোনও প্রক্রিয়া চলতে সমস্যা দেখা দিলে এটি কাজ করে তবে পর্দার নিজেই কোনও সমস্যা আছে কিনা তা নয়। এটি সেই সময়ের 99% ক্ষেত্রে এবং সমস্ত উইন্ডো বন্ধ করার পরিবর্তে কেবলমাত্র পর্দার মধ্যে একটি একক উইন্ডোকে প্রভাবিত করার অতিরিক্ত সুবিধা রয়েছে।
মিক্কেল

1
এটি একটি উইন্ডোটি হত্যা করার জন্য, একটি অধিবেশন নয়
এরিক ওয়াং

53

আপনি এই স্ক্রিনটি সংযুক্ত না করেই প্রস্থান করতে পারেন। প্রথমে এর সেশনটি সন্ধান করুন:

$ screen -ls

এবং তারপরে এটি ছেড়ে দিন:

$ screen -XS [session # you want to quit] quit

(-X = কমান্ড কমান্ড, -সেশন পিআইডি কার্যকর করতে)

[হালনাগাদ]

উদাহরণ:

screen -XS 20411 quit

1
এটি বেশ সহজ ছিল। এক্স-এস-এজেএস
এজে

2
আপনি যদি এটি অনুলিপি করেন তবে আপনার ইনএনএম উত্তরে ক্রেডিট দেওয়া উচিত
মার্টিন থোমা

8

এটি সমস্ত বিচ্ছিন্ন স্ক্রিনকে হত্যা করবে:

স্ক্রিন-এলএস | গ্রেপ বিচ্ছিন্ন | কাটা-ডি। -ফ 1 | awk '{মুদ্রণ $ 1}' | xargs হত্যা

এটি সমস্ত পর্দা, সংযুক্ত বা বিচ্ছিন্নভাবে হত্যা করবে

স্ক্রিন-এলএস | গ্রেপ পিটিএস | কাটা-ডি। -ফ 1 | awk '{মুদ্রণ $ 1}' | xargs হত্যা

7

সুতরাং এই সমস্ত অফিসিয়াল পরামর্শ সহ, কেবল কিছু সহজ, এবং ঠিক তেমন কার্যকর এবং আরও ধরণের সোজা এগিয়ে যেতে দেওয়া যাক।

pkill screen

সবেমাত্র মনে হতে পারে এমন একটি দম্পতি কমান্ড টিপতে কে অজানা এবং অ-প্রয়োজনের স্ক্রিনে যেতে চায়? এটি এতে প্রবেশ করা একেবারেই এড়ানো যায় এবং এটিকে সরাসরি হত্যা করে।

এছাড়াও, যদি আপনার একাধিক থাকে তবে এটি সমস্তকে একসাথে ডুবিয়ে নেবে।


1
মনে রাখবেন যে এটি চলমান সমস্ত পর্দা মুছে ফেলবে, যা আপনি যা চান তা হতে পারে বা নাও পারে।
মিক্কেল

একটি ভাল পছন্দ নয়। কিছুদিন ধরেই করছি। কখনও কখনও এটি খারাপ আচরণের কারণ হয় (যেমন আপনার ব্যবহারকারী অ্যাকাউন্ট থেকে অবিলম্বে লগ আউট)। এছাড়াও, যেমন মিক্কেল উল্লেখ করেছেন, এটি আপনার সমস্ত পর্দা বন্ধ করে দিতে পারে, যা আপনি চান তা নয়। কখনও কখনও আপনার কিছু চালিয়ে যাওয়া প্রয়োজন (উদাহরণস্বরূপ কিছু সিস্টেম দ্বারা চলমান) এবং কিছু অন্যান্য স্ক্রিন বন্ধ করতে হবে।
MAChitgarha

2

স্ক্রিন আপডেট করার সময় আমি এই সমস্যার মুখোমুখি হয়েছি। screenকমান্ড স্তব্ধ যখন অধিবেশন আবার সংযুক্ত করতে নির্বিশেষে কত এর প্রয়াস হবে -Dবা -Rআমি কমান্ড যোগ করা হয়েছে। তবে, screen -lsসুবিধামতভাবে অধিবেশনটির পিড সরবরাহ করে, আপনাকে নিম্নলিখিতটি ব্যবহার করে হস্তক্ষেপ করার অনুমতি দেয়:

10:42 user ~ $ screen -ls
There is a screen on:
        5730.my_screen     (Detached)
1 Socket in /tmp/screens/S-user.

10:42 user ~ $ sudo kill 5730

10:43 user ~ $ screen -ls
No Sockets found in /tmp/screens/S-user.

(এটি ব্রায়ান থমাসের উত্তরের অনুরূপ, তবে তিনি চলমান সমস্ত স্ক্রিন সেশনকে মেরে ফেলবেন, এটি যদি আপনার একাধিক স্ক্রিন খোলা থাকে তবে কেবল একটি মাত্র দুর্ব্যবহার করা আপনি চান তা নাও পারে))


পুরো ইন্টারনেটের 6 ঘন্টা আমার মাথা ভাঙ্গার পরে ... আপনার একমাত্র উত্তরটি কাজ করেছিল। ধন্যবাদ বন্ধু!
kRazzy আর

1

আপনার মত, আমি আমার স্ক্রিন সেশনটি মেরে ফেলতে চেয়েছিলাম এবং ডকুমেন্টেশনটি অসহায়ভাবে পাওয়া গেছে। নিশ্চিত হয়েছি যে একটি কীবোর্ড শর্টকাট থাকতে হবে, আমি খুঁজে পেয়েছি যে
ctrl + aতখন \
কাজ করে

আমি তখনই প্রম্পটটি পেয়েছি: "সত্যিই আপনার সমস্ত উইন্ডো ছেড়ে দিন এবং মেরে ফেলুন [y \ n]"

আমি নিশ্চিত কেন ডকুমেন্টেশন বলেছেন নই ctrl + aতারপর ctrl + \। এটা আমার জন্য কিছু করে না


1

সংযুক্ত চলমান স্ক্রিনটির প্রসেস আইডি আপনি খুঁজে পেতে পারেন। আমি এটি সেশন আইডির মতোই পেয়েছি যা আপনি কমান্ডের মাধ্যমে পেতে পারেন:
screen -ls
এবং আপনি এই প্রক্রিয়াটি হ্রাস করতে নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:
kill [sessionId]বা
sudo kill [sessionId]
স্ক্রিনটি অন্য কোনও টার্মিনাল উইন্ডোতে সংযুক্ত থাকলেও আপনি এটি হত্যা করতে পারেন kill


0

স্ক্রিন উইন্ডোটি মারতে ctrl + d টিপুন। যতক্ষণ না আপনি সমস্ত স্ক্রিন উইন্ডো না মেরে তা পুনরাবৃত্তি করুন। একবার আপনি রান আউট হয়ে গেলে সমস্ত উইন্ডোজ স্ক্রিনটি সেশনটি শেষ করে দেবে এবং শেষ করে দিবে। সবচেয়ে বেশি উইন্ডোজ না থাকলে সংক্ষিপ্ততম সমাধান

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