Я хотел бы узнать, какой процесс (в частности, идентификатор процесса) использует данный порт. Единственная проблема в том, что я не хочу использовать sudo, и я не вошел в систему как root. Процессы, для которых я хочу, чтобы это работало, выполняются тем же пользователем, которому я хочу найти идентификатор процесса - поэтому я бы подумал, что это было просто.
И то, lsof
и другое netstat
не сообщит мне идентификатор процесса, если я не запущу их с помощью sudo - они скажут, что порт используется.
В качестве некоторого дополнительного контекста - у меня есть различные приложения, все подключающиеся через SSH к серверу, которым я управляю, и создающие обратный порт для пересылки. После того, как они настроены, мой сервер выполняет некоторую обработку, используя перенаправленный порт, и затем соединение может быть разорвано. Если я могу сопоставить определенные порты (каждое приложение имеет свои) процессам, это простой сценарий. Какие-либо предложения?
Кстати, это на Ubuntu, но я предполагаю, что любое решение будет стандартным для большинства дистрибутивов Linux.
-an
.netstat -pant
также работает, и это легче запомнить.Мне кажется, что предложение Павла прекрасно работает, но в качестве альтернативы вот я слушаю из shell1:
и вот я вижу это
lsof
из shell2:Изменить : вы пишете в комментарии, что
но это не так для меня. Воспользовавшись ssh для пересылки локального порта 8001
ssh vpn.example.com -L 8001:rt.int:80
, я нахожу:Не могли бы вы показать нам некоторые ваши выходные данные, желательно не слишком сильно отредактированные?
источник
lsof
если не запускаю его от имени root / sudo.