كيف يمكنني قتل جميع العمليات التي تديرها حسابي الخاص غير الجذر?
لدي بعض العمليات سمبد الغزل التي تسببت من جهاز ويندوز الخاص بي وهكذا أنا تلنيتد في خادم لينكس وأريد أن تقتل تلك العمليات الغزل. ليس لدي سلطة لإعادة تشغيل الخدمات أو إعادة تشغيل الجهاز.
كيف يمكنني قتل جميع العمليات التي تديرها حسابي الخاص غير الجذر?
لدي بعض العمليات سمبد الغزل التي تسببت من جهاز ويندوز الخاص بي وهكذا أنا تلنيتد في خادم لينكس وأريد أن تقتل تلك العمليات الغزل. ليس لدي سلطة لإعادة تشغيل الخدمات أو إعادة تشغيل الجهاز.
لقتل جميع العمليات التي لديك إذن لقتل ، ببساطة تشغيل الأمر
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
لرؤية عملية وقتل عملية يمكنك تثبيته وببساطة حذف
كتبت السيناريو قليلا كتبت لقتل (في حالتي) سكايب:
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
هذه إشارة خاصة لا يتم إرسالها إلى البرنامج.
بدلا من ذلك ، يتم إعطاؤه لنواة نظام التشغيل ، والتي تغلق العملية. يستخدم هذا لتجاوز البرامج التي تتجاهل الإشارات المرسلة إليها...