كيف أقتل العمليات في أوبونتو?

كيف يمكنني قتل جميع العمليات التي تديرها حسابي الخاص غير الجذر?

لدي بعض العمليات سمبد الغزل التي تسببت من جهاز ويندوز الخاص بي وهكذا أنا تلنيتد في خادم لينكس وأريد أن تقتل تلك العمليات الغزل. ليس لدي سلطة لإعادة تشغيل الخدمات أو إعادة تشغيل الجهاز.

لقتل جميع العمليات التي لديك إذن لقتل ، ببساطة تشغيل الأمر

kill -15 -1 أو kill -9 -1 اعتمادا على السلوك المطلوب (استخدام man kill لمزيد من التفاصيل)

لقتل عملية معينة ، ويقول ، فايرفوكس ، ببساطة تشغيل

pkill firefox أو killall firefox اعتمادا على السلوك الذي تريده: ما& # 39; ق الفرق بين & # 39;كيلال& # 39; و & # 39;قتل & # 39;?

إذا كنت تريد أن ترى ما هي العمليات قيد التشغيل استخدام الأمر

ps -ef

إذا كنت ترغب في البحث عن جميع العمليات من قبل المستخدم بوب ، وهذا قد يساعد

pgrep -l -u bob

أو

ps -ef | grep bob

استخدام sudo kill <pid> أو sudo killall <process-name>

يمكنك استخدام

ps -ax | grep application name 

إذا كنت تبحث عن نوع فايرفوكس في محطة مثل ps -ax | grep firefox، يعرض معرف العملية للتطبيق المقابل. يمكنك إيقاف هذا التطبيق عن طريق kill الأمر إذا معرف العملية=1317,

kill -9 1317

دعونا نحاول شيئا أكثر:

sudo apt-get install htop 

ال top الأمر هو الطريقة التقليدية لعرض استخدام موارد النظام الخاص بك والاطلاع على العمليات التي تستهلك معظم موارد النظام. أعلى يعرض قائمة من العمليات ، مع تلك التي تستخدم معظم وحدة المعالجة المركزية في الأعلى.

htop يعرض نفس المعلومات مع تخطيط أسهل للفهم. كما أنه يتيح لك تحديد العمليات مع مفاتيح الأسهم وتنفيذ إجراءات ، مثل قتلهم أو تغيير أولوياتها ، مع F مفاتيح.

وأود أن استخدام xkill. أدخل xkill في محطة وانقر في النافذة ، أو أدخل xkill ومعرف العملية وسيتم إنهاؤها.

اكتشف المزيد عن xkill على x.org.

لمحاولة قتل جميع العمليات التي يملكها المستخدم username، تشغيل:

pkill -U username

فما استقاموا لكم فاستقيموا كسر مشكلتك إلى 2 أجزاء:

1) كيف يمكنني العثور على العمليات التي لي? تشغيل هذا:

ps -u `whoami`

ال whoami هو فقط في حال كنت لا تعرف اسم الحساب الذي تستخدمه ، وإلا فقط اكتب اسم الحساب دون علامات الاقتباس مرة أخرى.

سيؤدي هذا إلى سرد جميع العمليات التي يمكن حذفها بواسطة حسابك.

2) ال ps الأمر سوف قائمة رقم العملية ، تي ، الوقت ، و كمد. معرف العملية هو العمود الأول. استخدم هذا الرقم لقتل العملية. كن حذرا أثناء قتل العملية. قد تكسر شيئا إذا قتلت الخطأ process.To قتل عملية سوف تستخدم kill الأمر ، الذي يرسل إشارة إلى العملية. تشير الإشارة إلى ما هي العملية ينبغي افعل. على سبيل المثال ، إرسال -1 إلى العملية سوف يطلب منه إعادة تحميل ملف التكوين ؛ إرسال -2 يعادل الضغط على عنصر التحكم + ج على هذه العملية; -9 سوف يسبب النواة للتخلي عن العملية ، دون توصيله إلى العملية.

لنفترض أن بس-يو whoami عاد شيء من هذا القبيل

  PID TTY          TIME CMD 4333 pts/1    00:00:00 fish 4335 ?        00:00:00 fishd 4816 ?        00:00:00 intellij 4868 ?        00:50:42 java 4939 ?        00:00:19 fsnotifier64 7667 ?        02:49:08 firefox 7698 ?        00:00:00 unity-webapps-s

وأردت قتل firefox العملية من خلال معرف العملية ، ثم كنت تفعل:

kill -1 7667

ثم كنت إعادة تشغيل نفسه ps الأمر وتحقق مما إذا كانت العملية لا تزال قيد التشغيل. إذا كان لا يزال قيد التشغيل، ثم القيام

kill -2 7667

العمل طريقك حتى -9.

لقتل جميع العمليات التي بدأها حسابك ، أدخل kill <level> -1. كما كان من قبل: العمل طريقك حتى -9.

إذا كنت تعرف اسم العملية يمكنك ببساطة الذهاب killall <processname>، حيث هو ما تحاول قتله. على سبيل المثال: killall fish (الأسماك ، بهذا المعنى ، هي القشرة التفاعلية الودية).

وثائق ل killall يمكن العثور عليها هنا: http://manpages.ubuntu.com/manpages/hardy/man1/killall.1.html

مع هذا التطبيق يمكنك عرض قوائم البرنامج

تثبيت هتوب

sudo apt-get install htop

لرؤية عملية وقتل عملية يمكنك تثبيته وببساطة حذف

enter image description here

كتبت السيناريو قليلا كتبت لقتل (في حالتي) سكايب:

kill -s 9 `ps aux | grep skype | head -n 1 | cut -f4 -d" "`

ولكن وجدت أنه بقدر ما عملت ذلك الحين، فإنه لم ينجح في اليوم التالي لأن بيد كان طول مختلف وهناك لكمية من المساحات كان مختلفا

ثم جئت عبر هذا الموقع وحاولت

pgrep -l -u justin

الذي يخرج العمليات بسهولة في الشكل

[pid] [name]

لذلك قمت بتعديل الكود الخاص بي في البرنامج النصي لهذا:

kill -s 9 `pgrep -l -u justin | grep skype | cut -f1 -d" "`

ما يفعله هذا هو أنابيب جميع العمليات justin قيد التشغيل (يمكن تغييره إلى أي اسم مستخدم) إلى grep الذي يبحث عن skype (يمكن تغيير هذا إلى العملية الخاصة بك) ثم أنابيب هذا الخط ل cut الذي يقرأ بعد ذلك فقط بيد وأخيرا يستخدم هذا بيد في kill الأمر لقتله.

...جميع العمليات في لينكس تستجيب للإشارات. الإشارات هي طريقة على مستوى نظام التشغيل لإخبار البرامج بإنهاء أو تعديل سلوكها.

كيفية إرسال إشارات العمليات بواسطة بيد

الطريقة الأكثر شيوعا لتمرير الإشارات إلى البرنامج هي باستخدام أمر القتل.

كما قد تتوقع ، فإن الوظيفة الافتراضية لهذه الأداة هي محاولة قتل عملية:

kill PID_of_target_process

هذا يرسل إشارة المصطلح إلى العملية. يخبر مصطلح الإشارة العملية بإرضاء الإنهاء. هذا يسمح للبرنامج بإجراء عمليات التنظيف والخروج بسلاسة.

إذا كان البرنامج يسيء التصرف ولا يخرج عند إعطاء مصطلح الإشارة ، فيمكننا تصعيد الإشارة بتمرير إشارة القتل:

kill -KILL PID_of_target_process

هذه إشارة خاصة لا يتم إرسالها إلى البرنامج.

بدلا من ذلك ، يتم إعطاؤه لنواة نظام التشغيل ، والتي تغلق العملية. يستخدم هذا لتجاوز البرامج التي تتجاهل الإشارات المرسلة إليها...