bindkey '^P' history-beginning-search-backward
Вы могли бы предпочесть
up-line-or-history-beginning-search
.
Один путь состоит в том, чтобы сказать lsof -i:57010 -sTCP:ESTABLISHED
. Это обходит открытый поиск таблицы дескриптора файла ядра процессов с установленным соединением TCP с помощью того порта. (Сетевые сокеты являются дескрипторами файлов на *ix системы типов.) Вы использовали бы -sTCP:LISTEN
на стороне сервера для отфильтровывания только сокета слушателя вместо этого.
Из-за пути lsof
работы, это может только видеть процессы, которыми владеет Ваш пользователь, если Вы не выполняете его как корень. Это также довольно неэффективно, так как типичное *ix система имеет много дескрипторов файлов, открытых в любой момент времени. netstat
метод, данный в другом ответе, быстрее и обычно имеет более низкие требования доступа.
lsof
метод имеет одно большое преимущество, однако: не все *ix вводят Ose, имеют a netstat
флаг для включения процесса называет в выводе, тогда как lsof
был портирован к каждому *ix, вводят ОС, которую Вы, вероятно, будете использовать. OS X netstat
этот путь, например. Это имеет a -p
опция, но это делает что-то другое от netstat -p
на Linux.
Для редкого номера порта как тот в Вашем вопросе можно обычно уходить без добавления lsof
-s
флаг, потому что данная машина вряд ли будет иметь программы, и соединяющиеся с портом и слушающие на нем. Может быть полезно добавить его с номерами портов как 80 HTTP, где вероятно, что у Вас будет несколько программ с помощью того порта сразу.
Удачно что -s
флаг является дополнительным во многих ситуациях, потому что то использование только работает с lsof
версия 4.81 и более новый. В более старых версиях, -s
предназначенный что-то еще полностью! Это - старинное изменение 2008 года, но оно может все еще неожиданно укусить. RHEL 5 поставлется с lsof
4.78, например.
Можно использовать netstat -anp | grep 57010
на сервере C. Но это будет только работать, если не будет никакого брандмауэра, промежуточного, который отображает порт 57010 на другой.
ps waux | grep nnn
даст Вам довольно мало информации. Для получения дополнительной информации все же использовать cat /proc/nnn/cmdline
хотя пробелы были удалены (на самом деле, я думаю, что они заменяются \0), таким образом, не легко читать.
– Huygens
26.07.2012, 12:00
Только ради полноты:
Используя ss
из нового Linux сетевой служебный набор инструментов (iproute2
):
ss -tp sport = :57010 dst 192.168.1.220