У меня есть функция в ударе для уничтожения всех процессов, которые содержат то же имя:
killn () { pkill -9 -f $1; }
Я понимаю, что tcsh не поддерживает функции.
Как я могу перевести эту функцию в псевдоним, который будет работать в tcsh?
Во-первых, предупреждение любому, кто натыкается на это сообщение: -f
флаг к pkill
заставит это соответствовать шаблону, который Вы даете ему с полной командной строкой каждого процесса, а не просто имени процесса. Это соответствует большему количеству процессов, таким образом, можно закончить тем, что уничтожили больше, чем Вы предназначаете. Будьте осторожны!
Начиная с шаблона Вы являетесь передающими к pkill
появляется в конце команды, Вам на самом деле не нужна явная обработка аргумента, таким образом, это может быть сделано с простым отчасти tcsh
псевдоним:
alias killn pkill -9 -f
С тем определенным псевдонимом, если Вы хотите отправить SIGKILL
к процессам, полные командные строки которых содержат соответствие к pattern
, Вы используете псевдоним как это:
killn pattern
Это занимает место pkill -9 -f
для killn
, то, чтобы заставлять Вашу желаемую команду быть выполненным:
pkill -9 -f pattern
Примечание случайным читателям: это - a tcsh
псевдоним, который не имеет того же синтаксиса как a bash
псевдоним.