Багато разів нам потрібно вбити процес через термінал. Якщо ми знаємо повну назву процесу (Наприклад: Кейт) у нас немає проблем, простий:
killall kate
Це вирішує проблему для нас ... але що станеться, якщо ми не знаємо точної назви процесу?
У цих випадках нам доводиться перераховувати всі процеси за допомогою ps aux як показано на наступному скріншоті:
Тоді знайдіть PID процесу, який у цьому випадку ми шукаємо PID Кейт:
kill 3808
І вуаля, там ми вбиваємо процес.
Ну ... в одному рядку ми можемо шукати процес (не знаючи повного імені), дізнатися його PID, а також вбити його:
ps ax | grep kat | grep -v grep | awk '{print $2}' | xargs kill
Як ти бачиш:
- Перелічимо процеси (ps aux)
- Ми не знаємо повної або точної назви Кейт (привіт, це може бути редактор kate або щось подібне), тому ми фільтруємо лише за Kat (grep kat)
- Але ми отримаємо два процеси, пов’язані з kat, якщо ми будемо використовувати лише цей фільтр, один - це процес kate, а інший - процес, який ми активуємо для фільтрації, я залишаю вам скріншот, щоб ви могли закінчити розуміння: (Зверніть увагу, що існує 2 рядки, тобто 2 процеси)
- Щоб уникнути попереднього пояснення, ми робимо ще один фільтр (grep -v grep). Що ми будемо робити навпаки ... якщо ми фільтруємо за допомогою grep, він відображатиме лише збіги з фільтром, ну і grep -v Ми вказуємо вам НЕ показувати матчі, а показувати те, що не відповідає. Я покажу вам скріншот, яким би був результат до цього часу: (Зверніть увагу, що зараз з’являється лише процес Кейт)
- Ну, у нас вже є процес, який ми хочемо вбити ізольовано, тепер нам потрібно лише витягнути його PID, який є другим числом, тобто 4062. І PID знаходиться у 2-й колонці (Перший стовпець містить користувача з UID 1), тому, використовуючи awk, ми можемо сказати, що з цього рядка він показує лише те, що він знаходить у 2-му стовпці (awk '{print $ 2}'). Що б показало нам лише номер процесу, тобто в терміналі з’явиться лише PID.
- Але ми не хочемо показувати PID, ми хочемо вбити процес за допомогою цього PID ... так що ми зробимо це, передамо те, що ми маємо, команді вбивати і готовий (ксарги вбивають)
- Що означає цей ксарг? ... просто, в цьому випадку ми не можемо передати PID, щоб убити лише трубами ( | ), цього просто недостатньо, тому xargs (що дозволяє передавати значення або дані, а потім виконувати або вбивати їх) - це те, що дозволить нам закінчити роботу.
І на цьому це закінчується 😀
Так ... Я знаю, що це здається дещо складним, і саме тому я намагався пояснити це наскільки міг.
Я знаю, що, можливо, ця команда мало кому знадобиться, але мета цієї статті така ж, як і мета DesdeLinux, навчати їх чогось нового щодня, завжди намагаючись змусити їх позбутися страху перед Linux... і особисто я б хотів, щоб вони навчилися користуватися терміналом без страху 😉
У будь-якому випадку ... Сподіваюся, вам це було цікаво, я продовжую вчитися користуватися awk що справді чудово хе-хе.
привіт
Це правда, awk був для мене дуже корисним, і я думаю, що всім, кому потрібно маніпулювати структурованими текстовими файлами, настійно рекомендується знати, як ним користуватися.
У мене просто запитання (нічого спільного з введенням: D), як (і з якою програмою) ви зробили ефект розмиття, що дозволяє виділити частину знімка екрана?
Привіт.
Тестування якщо це з формату це працює, а якщо ні хтось підкаже, як це зробити
Велике спасибі.
Ну так ... Я перевідкрив Linux тепер, коли я знаю, як працювати з awk HAHAHAHA.
Про ефект і таке, нічого ... це просто Gimp 😀
Я вибираю частину, яку хочу виділити, вирізаю її за допомогою [Ctrl] + [X] і вставляю як новий шар, потім вибираю нижній шар (саме той, який я хочу замазувати) і переходжу до Фільтри- » Гаусса (або що завгодно ти пишеш хе-хе) і вуаля.
Тепер, щоб надати йому темний ефект, я просто створюю новий шар (білий фон) і поміщаю його між цими двома, що вже були у мене, надаю йому чорний колір і на панелі прозорості (верхній правий кут) переміщую туди, де Я досягаю бажаного ефекту.
Вітаю та дякую за коментар 🙂
Великий !!
Якщо процес відбувається з видимої програми, нічого зручнішого, ніж друкувати xkill на консолі натисніть на програму для вбивства і вуаля.
натисніть на програму, щоб вбити
хе-хе так ... це за умови, що у вас графічний інтерфейс Хе-хе.
Правильно, саме тому я сказав "якщо процес йде від видимої програми".
Простіше натиснути на кнопку з "Х". У GNOME Shell ця кнопка ще є? :-D.
Якщо програма заморожена (що є основною причиною того, чому вам потрібно було б убити її процес), логічно, що ця кнопка не буде реагувати незалежно від того, скільки ви її натискаєте.
Гадаю, GNOME Shell найближчим часом видалить його, щоб ви могли побачити тактильне диво закриття вікон, перетягнувши їх у нижню частину екрана, як у Windows 8. Само собою зрозуміло, на широкоформатних моніторах це фантастична вправа.
Тепер я розумію. У цьому випадку я віддаю перевагу Control + Alt + Esc (у KDE).
Я не можу дочекатися перегляду нових попередніх переглядів GNOME Shell, вони справжнє задоволення.
Це робить те саме, але менше пише.
У цьому випадку я взяв для прикладу листову панель, тому лист з'являється у grep
ps -e | grep leaf | awk '{print $1}' | xargs kill
привіт
Фу! Мій сину, спробуй запустити "pgrep kat", що для чогось є "pgrep".
І виконати "man pgrep". І "людина підоф", яка іноді "підоф" може вам допомогти.
І виконати «ps aux | grep [k] at ", який не поверне" процес, який ми активуємо для фільтрації ", який ви коментуєте, що заощаджує вашу роботу.
Привіт!
О, і "pkill", який робить те, що ви шукаєте. Наприклад: "pkill kat".
О, цікаво ... я не знав pgrep 🙂
Дякую за підказку 😀
Дякую вам і вашим статтям.
До речі, в https://flossblog.wordpress.com/2009/11/11/truco-del-dia-excluir-al-proceso-grep-en-la-salida-de-ps-aux/ прокоментувати техніку використання команд типу «ps aux | grep [n] program_name ", вони там пояснюють це краще за мене.
Привіт!
Дякую за посилання 😀
Це чудова річ у тому, що він існує. DesdeLinux…не має значення, хто ви – користувач, редактор чи адміністратор, ми всі завжди дізнаємось щось нове 🙂
Вітаю і ще раз дякую друже.
Дякуємо всім за ваш час та відданість, тому варто відвідувати та читати цей сайт кілька разів на день.
Знову дякую.
KZKG ^ Гаара майже завжди однаковий, коли мова заходить про подібні поради, є інша людина, яка робить те саме за допомогою простої команди. Але я вітаю його, він завжди постійно робить свій внесок.
хе-хе ... я знаю, як робити X osa, і я приходжу сюди і ділюсь методом, але тоді вони поділяють більш простий спосіб досягти того самого, ха-ха-ха, але з цим ми всі виграємо, так? 😀
Правильно 0 /
Ха-ха-ха, ти завжди йдеш найскладнішим шляхом. 😀
HAHAHA так, я завжди думав: «Якщо я знаю, як це зробити важчим способом, то я буду знати, як зробити це простим способом без проблем.»І ... навпаки, це не працює однаково ха-ха-ха.
Проблема полягала б у тому, що ми маємо два процеси з подібною назвою.
Наприклад, процес Кейт, а інший процес ... ммм ... припустимо, kater xD
За такою командою ми вбили б обох, так?
Ну так, це могло б статися 🙂
ТТ бідна Кейт. Я використовую xkill в KDE, він швидко запускається за допомогою "ctrl + alt + esc" або також за допомогою "ctrl + Esc" відкриває "Системні дії" і робить це графічно. Тепер цю процедуру через термінал треба вивчити, хоча я маю домашній сервер зі стабільним debian, і він взагалі не зависає.
Чудово! саме зараз, коли я проходжу курс операційних систем і мені потрібно виконувати завдання за допомогою терміналу, ваш підручник був великою підмогою! Дякую
Дуже добре пояснив, чудовий блог, який я щойно зустрів, я вказую його на обране Дякую.
Ну, це добре, хоча бувають випадки, коли їх неможливо вбити ....
pkill -9
pkill -9 "назва процесу"
у попередньому коментарі я поставив «», але це не вийшло xD
на добраніч, я встигаю прочитати твою стрічку, і сьогодні я вирішив спробувати цю команду ps ax | grep хром | grep -v grep | awk '{print $ 1}' | | xargs kill, і я отримую таку помилку вбивства: не вдається знайти процес "?" маючи невеликий досвід роботи з bash, я вирішив внести деякі зміни, і врешті-решт я залишив ps -A | grep c | grep -v grep | awk '{print $ 1}' | | xargs kill, оскільки ps -A використовується для узагальненого відображення всіх процесів, а друга аномалія полягала в тому, що він кинув мені TTY «?» і це спрацювало для мене, дуже дякую. Мені дуже подобається ваш блог, вітаю
Дякую, компа, ти не уявляєш обсягу проблем, які ти щойно вирішив для мене цією командою.
Привіт!
ДЯКУЮ !!!!
Відмінний пост. Тільки те, що я шукав і не знав, як це зробити, і пояснення було дуже хорошим.
Привіт.