paste
+awk
раствор:
paste HI.* | awk '{ for(i=2; i<=NF; i+=2) printf "%s%s", $i, (i==NF? ORS : "\t") }' > result
Для поиска процессов, прослушивающих определенный порт, используйте команду lsof или «Список открытых файлов».
lsof
Поиск процессов, запущенных на определенном порту Опция -i
для фильтрации
lsof -i TCP:[PORT]
lsof -i TCP:5601
Завершить все процессы, прослушивающие определенный порт Команда -t
возвращает только PID, именно для трубопровода, и используйте xargs
для каждой возвращаемой строки.
lsof -ti tcp:[PORT] | xargs kill
lsof -ti tcp:5601 | xargs kill
Если процесс более настойчив и убить его не удалось, попробуйте kill -9 [PID]
убить его более агрессивно.
Ссылки
Добро пожаловать на StackExchange для Unix и Linux!
Ваша картинка показывает, что когда вы завершаете процесс, занимающий в данный момент порт с помощью SIGTERM, его место занимает новый процесс. Таким образом, либо systemd
настроен на автоматический перезапуск процесса всякий раз, когда он будет убит, либо процесс, удерживающий порт, является просто «рабочим» дочерним процессом основного серверного приложения.
Судя по вашему выходу netstat -tlpn
, имя рассматриваемого процесса node
. Итак, я бы попробовал сначала проверить, есть ли системные службы с такими именами:
systemctl | grep -i node
Как только станет известно точное название сервиса, (например,. node.service
),вы можете остановить службу с помощью этой команды:
systemctl stop node.service
и если это оказалось не так, перезапустите с
systemctl start node.service
Убедившись, что вы остановили правильную службу, вы можете отключить службу, чтобы она не запускалась автоматически при следующей перезагрузке системы.:
systemctl disable node.service