killall valgrind
убьет все процессы valgrind
независимо от аргументов. Если вы хотите уничтожить только процессы, командная строка которых точно равна valgrind --tool=lackey ./testcases/kernel/syscalls/waitpid/waitpid03
, вы можете использовать pkill
:
pkill -xf 'valgrind --tool=lackey ./testcases/kernel/syscalls/waitpid/waitpid03'
Как и killall
, pkill
используется во всех не встроенных (и некоторых встроенных) установках Linux и является более мощным и часто более надежным (но по некоторым причинам менее известным). Сопутствующая утилита pgrep
идентична, за исключением того, что она перечисляет PID вместо убийства.
Другая утилита, которая может вас заинтересовать, - это fuser
: fuser testcases/kernel/syscalls/waitpid/waitpid03
перечисляет процессы, для которых указанный файл открыт, и fuser -k
посылает сигнал этим процессам. Когда вы не пытаетесь отправить сигнал, lsof
является более мощной альтернативой fuser
(показывает больше материала, имеет больше фильтров).