pkill
(аналогично pgrep
, который использует тот же интерфейс, изначально это команда Solaris,который теперь можно найти во многих других Unix -, включая Linux (procps
, пакет ))для уничтожения процессов на основе их имени.
pkill regexp
kills (отправляет сигнал SIGTERM
)всем процессам, имя которых ¹ соответствует заданному регулярному выражению.
Итак, здесь pkill node
уничтожит все процессы, имя которых содержит node
. Используйтеpkill -x node
(-x
как в grep
/ pgrep
для точного соответствия ), чтобы убить процессы с именем точноnode
.
Уничтожение на основе pid² — это простоkill
(команда, встроенная в большинство оболочек, поэтому ее также можно использовать в заданиях оболочки, а также как отдельную -утилиту ).
Еслиkill 6806
(сокращение отkill -s TERM 6806
)терпит неудачу, вы можете в качестве последнего -средства попробовать kill -s KILL 6806
, что завершит его не -изящно .
¹ имя процесса — понятие, которое немного различается в зависимости от ОС. В Linux это обычно до первых 15 байтов базового имени файла, который выполнялся процессом (или его ближайшим предком ), хотя процесс может изменить его на любое произвольное (, но не более 15 байт. байт )значение. См. также pkill -f
для соответствия в списке аргументов.
² kill
также может завершать работу на основе идентификатора процесса группы . kill -- -123
отправляет сигнал SIGTERM всем процессам, чей идентификатор группы процессов равен 123. При использовании спецификации задания для kill
, встроенной в оболочки POSIX, (, как и в kill %spec
), kill
, как правило, также отправляет сигналы процесс группа .
Это<input sed -r 's/item[45]/item3/' >output
У вас будет
1 item1,
2 item2,
3 item3,
4 item3,
5 item3
Если у вас также есть item48
, item522
и т. д.
это
<input sed -E 's/^([0-9]{1,} +)item[45](,?)$/\1item3\3/' >output
Чтобы не совпадать со строками с item44
или item51
, проверьте необязательную запятую(,?
)и конец поля($
)перед заменой значений (, как в aborrusosed
решение):
awk '$2 ~ /^item[45],?$/{ gsub(/item[45]/, "item3", $2) } 1' file
Или с GNU awk
gensub
:
awk '{ $2=gensub(/^item[45](,?)$/, "item3\\1", 1, $2) } 1' file