আমি কীভাবে সমস্ত পর্দা হত্যা করব?


74

আমি দুর্ঘটনাক্রমে 1000 টিরও বেশি স্ক্রিন তৈরি করেছি। আমি কীভাবে তাদের এক আদেশ দিয়ে হত্যা করব? (বা কয়েকটি)


3
চালান ->screen -ls | grep Detached | cut -d. -f1 | awk '{print $1}' | xargs kill
পরিত্যক্ত

ভাল ধারণা @ স্যাকটিউ আমি এটি আমার নামযুক্ত সেশনগুলির সাথে কাজ করার জন্য সংশোধন করেছিলাম, এবং কমান্ডগুলিকে পছন্দ হিসাবে কিছুটা screen -ls | grep "<name>" | cut -d. -f1 | tr --delete "\t" | xargs kill -9; screen -wipe; screen -ls;
ট্যুইক করেছি, সেশনগুলি

3
আপনি কীভাবে ভুলবশত 1000 স্ক্রিন তৈরি করলেন?
দুহাইম

উত্তর:


94

তুমি ব্যবহার করতে পার :

pkill screen

অথবা

killall screen

ওএসএক্সে প্রক্রিয়াটিকে সমস্ত ক্যাপগুলিতে SCREEN বলা হয়। সুতরাং, ব্যবহার করুন:

pkill SCREEN

অথবা

killall SCREEN

2
এই ক্ষেত্রে সিক্কিল ব্যবহার করার পরামর্শ দেওয়া হয় না। সাইন্টারএম আরও ভাল পছন্দ হবে।
মার্কো

হাই, রাহুল পাতিল স্ক্রিনটি কেন তালিকাভুক্ত নয়Top
ব্যবহারকারী 15964

আমার অনুমতি না থাকলে কী হবে? আমাকে কী ম্যানুয়ালি গিয়ে সমস্ত স্ক্রিন পৃথকভাবে প্রস্থান করতে হবে?
হিপোগ্লুসিডো

13

স্ক্রিনগুলি মরে গেলে ব্যবহার করুন:

screen -wipe


5

সম্প্রতি আমি এটিকে একসাথে রেখে আমার সাথে পরিচিত হতে শুরু করেছি এবং এটি এর উদ্দেশ্য হিসাবে কাজ করেছে। আমি এটি পোস্ট করার পরে এটি বোঝা বেশ সহজ।

screen -ls | grep '(Detached)' | awk 'sys {screen -S $1 -X quit}'

যেখানে screen -lsসমস্ত বর্তমান পর্দার তালিকা রয়েছে। grep 'pattern'সমস্ত মিলে যাওয়া সারিগুলি ফিল্টার করে। তারপরে আমরা সমস্ত বিচ্ছিন্ন স্ক্রিনগুলির জন্য একটি হ্যান্ডেল পেতে পারি এবং awk sys {command}আমরা কোনও কমান্ড একসঙ্গে অনুলিপি করে পেস্ট করতে পারি এবং এটি দিয়ে কার্যকর করতে পারি sys, এটি $1অর্ক দ্বারা উত্থাপিত প্রথম যুক্তিকে বোঝায়। অবশেষে আমরা সঙ্গে প্রস্থান কমান্ড প্রয়োগ screen -X quit


1
screen -ls | grep '(Detached)' | awk '{print $1}' | xargs -I % -t screen -X -S % quit আমার জন্য আরও ভাল কাজ
যেখানে ২৩

2

আপনি কীভাবে 1000 "স্ক্রিন" তৈরি করতে সক্ষম হয়েছেন তা নিয়ে আমি কিছুটা বিস্মিত। আপনি সম্ভবত 1000 স্ক্রিন উইন্ডোজ (একক স্ক্রিন সেশনের মধ্যে 1000 টি বিভিন্ন টার্মিনাল উইন্ডোজ) বোঝাতে চেয়েছিলেন?

আপনি যদি একটি একক স্ক্রিন সেশনের মধ্যে 1000 উইন্ডোজ বোঝাতে চান, তবে আরও একটি মার্জিত সমাধান হ'ল কমান্ডটি ব্যবহার করে পর্দা C-a \ছাড়ুন (ctrl-a এর পরে \)।


1
স্ক্রিনের মধ্যে 1000x স্ক্রিনটি কার্যকর করার চেষ্টা করুন। কি ঘটেছে? আপনি 1000 স্ক্রিন উইন্ডোজ পাবেন। হ্যাঁ, এটা ঠিক, বুদ্ধিমান এবং করুণার সাথে পর্দাটি 1000 স্ক্রিন সেশনগুলিকে উত্সাহ দেয় না। সুতরাং ওপি যদি ইতিমধ্যে স্ক্রিনটি শুরু করে থাকে তবে 1000 স্ক্রিন সেশন শুরু করার চেয়ে দুর্ঘটনাক্রমে 1000 স্ক্রিন উইন্ডো শুরু করা খুব সহজ হওয়া উচিত।
রেলগুন 2

আশ্চর্যজনক তবে আমি যে মন্তব্যটির জবাব দিচ্ছিলাম তা অদৃশ্য হয়ে গেছে বলে মনে হচ্ছে। যাইহোক আমি উপরের মন্তব্যটি রেকর্ডের জন্য দাঁড়াতে দিচ্ছি।
রেলগুন 2

1
আসলে এটি বেশ সহজ। কেবল একটি অসীম লুপ তৈরি করুন (দুর্ঘটনাক্রমে) এবং এর মধ্যে এমন কিছু রাখুন screen -m sleep 100000। এটি ঘটেছে এবং এটি ইতিমধ্যে 1000 এরও বেশি স্ক্রিন সেশন তৈরি না হওয়া পর্যন্ত আমি লক্ষ্য করি না।
ব্রেইনস্টোন

0

নিম্নলিখিত কমান্ডটি সমস্ত নিষ্ক্রিয় পর্দার অবসান ঘটাবে:

perl -e 'while (map { kill 9, [split /\./]->[0] } grep { /Detached/ } split /\n/, qx{screen -ls}) { sleep 1 } exec qw(screen -wipe)'

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