Скажем, я хочу убить каждый процесс, содержащий слово amarok. Я могу распечатать команды, которые хочу выполнить. Но как мне заставить оболочку выполнить их? то есть.
ps aux | grep -ie amarok | awk '{print "kill -9 " $2}'
Output:
kill -9 3052
kill -9 3071
kill -9 3076
kill -9 3077
kill -9 3079
kill -9 3080
kill -9 3082
kill -9 3083
kill -9 3084
kill -9 3085
kill -9 3086
kill -9 3087
kill -9 3088
kill -9 3089
kill -9 4031
shell
command-line
kill
PuercoPop
источник
источник
| sh -x
после оставшейся части вашей командной строки?kill -9
процесс, см. [управление процессами] [1] [1]: mywiki.wooledge.org/… ...amarokx
тоже убьет процесс? Я pkill vi, он убивает,supervisorctl
который содержит слово "vi" в слове.-9
неиспользовании довольно бесполезна - есть ли лучшая информация о том, почему люди не должны ее использовать? Он просто говорит: «Не увольняйте людей, которые его используют»; но все, что я когда-либо видел повсюду, это тоkill -9 {pid}
, как что-то убить ...Ответы:
Из
man 1 pkill
Что означает, например, если мы видим эти строки в
ps aux
:Мы можем убить их всех с помощью
-f
опции pkill :источник
-9
в конец!httpdx
тоже убьет процесс? Я pkill vi, он убивает,supervisorctl
который содержит слово "vi" в слове.-i
, какpkill -fi wine
. Чтобы проверить до и после, используйтеps uax | grep -i wine
.xargs (1): xargs - создать список аргументов и выполнить утилиту. Полезно , если вы хотите , чтобы трубы в аргументах к чему - то , как
kill
илиls
или так далее.источник
ps aux | grep -ie amarok | grep -v grep | awk '{print $2}' | xargs kill -9
(grep -v
расшифровываетсяgrep --invert
)использование
pgrep
источник
pkill -9 amarok
kill -9 $(pgrep -f amarok)
Безопасный способ сделать это:
источник
-l
флаг. На самом деле я простоpkill
установил псевдоним,pkill -fl
чтобы я мог запустить что-то вроде этого,pkill jboss
и он выплюнет процесс, который он только что убил.amarokx
тоже убьет процесс? Я pkill vi, он убивает,supervisorctl
который содержит слово "vi" в слове.pkill: invalid option -- 'l'
- pkill из procps-ng 3.3.12Я думаю, что эта команда killall именно то, что вам нужно. Команда описывается как «убить процессы по имени». Это просто в использовании. Например
Эта команда убьет весь процесс Chrome. Вот ссылка на команду killall
http://linux.about.com/library/cmd/blcmdl1_killall.htm
Надеюсь, эта команда поможет вам.
источник
ps aux
«s выходpkill -x точно соответствует имени процесса.
pkill -f похож, но допускает шаблон регулярного выражения.
Обратите внимание, что pkill без других параметров (например, -x, -f) разрешит частичное совпадение имен процессов. Так что "pkill amarok" убил бы амарок, амарок банан, бананамарок и т. Д.
Я бы хотел, чтобы -x был поведением по умолчанию!
источник
amarokx
тоже убьет процесс? Я pkill vi, он убивает,supervisorctl
который содержит слово "vi" в слове.Если вы хотите , чтобы выполнить вывод команды, вы можете поместить его внутрь
$(...)
, однако для принять вашу конкретную задачу взглянуть наkillall
иpkill
команд.источник
Вы также можете оценить свой вывод как подпроцесс, окружив все обратными галочками или поместив его в $ ():
источник
пытаться kill -s 9
ps -ef |grep "Nov 11" |grep -v grep | awk '{print $2}'
Для уничтожения процессов от 11 ноября или kill -s 9ps -ef |grep amarok|grep -v grep | awk '{print $2}'
для уничтожения процессов, содержащих слово amarokисточник
Может быть, добавив команды в исполняемый файл, установив + x разрешение и затем выполнив?
источник
Если вы используете Cygwin или какую-то минимальную оболочку, которой не хватает
killall
вы можете просто использовать этот скрипт:killall.sh - убить по имени процесса.
Использование:
источник
kill: invalid argument f