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