Как создать псевдоним для завершения процессов, работающих на порту TCP/IP?

Как создать псевдоним для завершения процессов, работающих на порту TCP/IP?

Что у меня есть:

alias killport='sudo kill -9 `sudo fuser -n tcp $1 2> /dev/null`'

Проблема:

Хотя запуск eg killport 8000, похоже, не работает. Однако, просто запуск...

sudo kill -9 `sudo fuser -n tcp 8000 2> /dev/null` 

... РАБОТАЕТ. Не могу понять, где я ошибаюсь.

Насколько я могу судить, главное различие между рабочей и нерабочей версиями заключается в том, что псевдонимизированная версия использует переменную и выполняется оболочкой для меня... Но, возможно, кто-то уже сталкивался с подобной проблемой и знает, где искать.

решение1

Вместо псевдонима следует использовать функцию, поскольку псевдонимы не поддерживают параметры. Сделайте что-то вроде этого:

killport(){ 

sudo kill -9 $(sudo fuser -n tcp $1 2> /dev/null);

}

Теперь поместите эту функцию в файл конфигурации bash, например ~/.bashrc, а затем запустите:

source  ~/.bashrc

И вы сделали

НТН

Связанный контент