Você precisa colocar o comando lsof dentro de parênteses (comando de subsituição) ao invés de chaves para matar todos os processos (arquivos) que usam a porta 3000.
kill $( lsof -t -i:3000 )
Estou tentando usar a subtituição para matar processos, por exemplo:
kill ${lsof -t -i:3000}
e recebo o seguinte erro:
bash: ${lsof -t -i:3000}: bad substitution
Se eu executar echo $0
, ele está executando o bash.
Como posso resolver isso? Tenho certeza de que minha sintaxe de substituição está correta.
Você precisa colocar o comando lsof dentro de parênteses (comando de subsituição) ao invés de chaves para matar todos os processos (arquivos) que usam a porta 3000.
kill $( lsof -t -i:3000 )