Há uma opção -t
(terse) em lsof
, que parece fazer exatamente o que você está procurando, por exemplo
$ sudo lsof -ti tcp:80
1387
4538
4539
Veja man lsof
-t specifies that lsof should produce terse output with process
identifiers only and no header - e.g., so that the output may
be piped to kill(1). -t selects the -w option.
Supondo que você tenha as permissões necessárias, passe o resultado para kill
como uma lista de PIDs com substituição de comando:
kill -9 $(lsof -ti tcp:80)