Убийте всички спрени работни места Linux

Kill All Stopped Jobs Linux



В Linux заданието се отнася до процес, стартиран и управляван от черупката. Това може да бъде една команда, дълга и сложна команда, включваща тръби и пренасочвания, изпълним файл или скрипт. Всяко задание в Linux се управлява чрез присвояване на последователен IP адрес на задача, свързан с конкретен процес.

Ключова концепция за разбиране за работните места в Linux е техният статус. Има два основни статуса за работни места в Linux:







  • Преден план
  • Заден план

Работа на преден план

Задача на преден план се отнася до команда или програма, изпълнена в черупката и заема терминалната сесия, докато не завърши. Пример за това е стартирането на файлов мениджър или браузър в терминала



Например, следващата екранна снимка показва терминален прозорец с работа на преден план.







В горното изображение подканата на черупката е недостъпна, докато прозорецът на Firefox не се затвори.

Фонови работни места

Обратното на преден план е работата на заден план. За да стартираме задание в черупката като фоново, използваме символа амперсанд (&). Използването на това казва на черупката да поставя всички команди, идващи преди амперанд във фонов режим и незабавно да покаже подканата на черупката.



Примерът по -долу показва как да поставите работата на Firefox (в горния пример) на заден план.

Както можете да видите, подканата за черупка вече е налична, въпреки че Firefox все още работи.

Ще забележите цифрови стойности, показани за фонови задачи. Първата, обозначена с квадратни скоби ([]), показва идентификатора на заданието, докато другата стойност показва PID на процеса, свързан с работата.

Как да управлявате фоновите работни места

Командата jobs управлява контрола на заданията. Това ви позволява да видите задачите във фонов режим.

sudo работни места

Изпълнението на горната команда показва фонови задачи, както е показано по -долу:

Започвайки от лявата страна, имаме Job ID.

Следва веднага след скобите знакът плюс (+) или минус (-). Знакът плюс показва, че това е текущата работа, докато минусът показва следващата работа.

Следващата скоба показва състоянието на заданието. Това може да се изпълнява, спира, прекратява, прави или излиза с код на състоянието.

И накрая, последната част показва действителното име на работата.

Показване на задания с PID

За да покажем фонови задачи със съответните им PID стойности, използваме флага -l като:

работни места -на

Това ще покаже фоновите задачи с техните PID стойности, както е показано на изображението по -долу.

Фонови работни места с изход

Да предположим, че имаме работа, която искаме да изпълняваме във фонов режим, която изхвърля изход на екрана. Например, в горния пример поставям командата apt, която има много изход във фонов режим, без да бъркам терминала си.

За да направите това, можете да пренасочите изхода в /dev /null като:

sudo apt-get update > /dev/нула&

Как да изведете работа на заден план на преден план

Можем да изведем фоновите задачи на преден план, като използваме командата fg. Например, за да изведем работата на firefox с Job ID от 1 на заден план, можем да направим:

fg %1

Това ще изведе работата на преден план като:

[защитен имейл]: ~ $fg %1

firefox

Опции за команди за работни места

Командата jobs не разполага с много опции.

Вече обсъждахме -l за показване на заданията с техните идентификатори на процеси.

Други опции, които можете да предадете на командата за работа, включват:

  • - Това показва задачите, които са променили статуса си от последното известие. Например работа, която се е променила от работещо в спряно състояние.
  • -стр - Изброява само PID на работните места.
  • -r - само за работа
  • - Показва само спрени работни места.

Как да прекратяваме или убиваме работни места

Можем да прекратим задания с помощта на командата kill, последвана или от идентификационния номер на задачата, подниза или от идентификационния номер на процеса.

Убийте, като използвате идентификационен номер на работа

За да убием работа с идентификационния номер на задачата, използваме %, последван от стойността на id като:

убивам %%

Това ще убие текущата работа; това е подобно на %+.

Убийте работа с подниза

Убиване на работа с подниза, префикс на подниза с %? последвано от стойността на подниза като:

убивам %? gnome-калкулатор

ЗАБЕЛЕЖКА : Linux изпълнява задания едновременно. Това означава, че прескача напред -назад между наличните работни места, докато те не завършат. Следователно прекратяването на терминална сесия с изпълнени задачи ще прекрати всичките ви работни места.

Не е нужно да се притеснявате за това, ако използвате терминален мултиплексор като tmux или екран, тъй като можете да ги свържете отново.

Как да убием спрени работни места

За да убием всички спрени работни места, трябва да свържем две команди заедно. Първият ще получи PID на всички спрени работни места, а следващият ще убие всички предоставени работни места.

За да видите спрените задачи, използваме командата

работни места

Тази команда показва всички спрени задачи.

Като имаме това, можем да получим PID на спрените задачи и да ги изпратим за команда kill като:

sudo убивам -9 работни места -стр

Това ще убие всички спрени работни места.

Заключение

Този урок разгледа концепциите за контрол на задачите в Linux и как да получите информация за работните места. Добре е да се отбележи, че контролът на работните места може да не е наличен в зависимост от избраната от вас черупка.

Благодарим ви за четенето & Happy Shells.