Под AIX, как я могу получить полный путь программы, связанной с портом?

Я использовал воплощение приблизительно в течение года теперь для дедуплицированных резервных копий моих персональных данных. Это имеет tar как интерфейс, таким образом, это довольно удобно для пользователя UNIX, и установка является бризом, по крайней мере, на OpenBSD. Вы можете легко крон это для резервного копирования каталогов ежедневно, и это заботится о дедупликации данных. Вас в основном оставляют с метафайлом, который можно использовать для восстановления снимка позднее. Поскольку я сказал, что интерфейс подобен tar, настолько делающее резервное копирование так же легко как:

# epitomize -cvRf 2010-08-16-home.md /home

Обратите внимание, что от воплощения отказываются, только частичная копия веб-сайта в https://web.archive.org/web/20140908075740/https://www.peereboom.us/epitome/остается.

14
18.12.2011, 00:28
5 ответов

Как рекомендуется IBM: использовать lsof -i -n и ищите порт XY. Если Вы хотите parseable вывод от lsof, используйте -F отметьте и проанализируйте вывод с awk.

Можно получить предварительно скомпилированные двоичные файлы для AIX V5. Я не знаю, существуют ли предварительно скомпилированные двоичные файлы для V6; если нет, получают источник и компилируют его.

10
27.01.2020, 19:51

Попытайтесь использовать netstat с rmsock.

port=$1
addr=`netstat -Aan | grep $port | awk '{print $1}`
pid=`rmsock $addr tcpcb | awk '{print $9}'`
ps -ef | grep $pid

Для netstat, -A показывает адрес любых блоков управления протокола, связанных с сокетами, -a опция показывает состояние всех сокетов включая те из серверных процессов, и -n опция дает вывод в числовой форме, таким образом, Вы не напрасно тратите время, пытаясь разрешить адреса.

rmsock, использование адреса, данного в column1 выводе netstat, и использование tcpcb база данных, возвратит информацию о процессе, содержащем тот сокет, включая pid и имя.

Можно затем использовать ps -ef | grep $pid получить информацию процесса.

Вы видите эту статью в Системном Журнале IBM для большего количества информации об этом.

4
27.01.2020, 19:51
  • 1
    это не событие, выполняющееся правильно на моем AIX –  Kiwy 13.01.2014, 17:40

Я не знаком с AIX, но имею Вас, попробовал w или e форматирование аргументов ps?

ps uwx | grep 1482
# or 
ps uex | grep 1482
0
27.01.2020, 19:51
  • 1
    Можно проверить руководство онлайн. AIX ps действительно поддерживает традиционные флаги BSD, но как делают флаги, Вы указали на справку? –  Gilles 'SO- stop being evil' 26.09.2011, 00:51
  • 2
    Гм, похож, они делают разные вещи на AIX. Хотя документация, на которую Вы сослались, включает l опцию, которая печатает "ПОЛЬЗОВАТЕЛЯ, PID, %CPU, %MEM, SZ, RSS, TTY, СТАТИСТИКА, STIME, ВРЕМЯ и –  frogstarr78 26.09.2011, 00:58

Один из самого быстрого способа найти порт блокировки приложения состоит в том, чтобы использовать lsof или lsof64:

lsof64 -nP | grep $PortNumber

или

lsof -nP | grep $PortNumber

Выше возвратит идентификатор процесса, блокирующий/использующий данный номер порта. После того как Вам выполняли его затем ниже для нахождения запущенного применения / процесс

proctree $pid
1
27.01.2020, 19:51
netstat -ape | grep $PortNumber
0
27.01.2020, 19:51
  • 1
    Вы могли объяснить, что делает команда? Вставка кода без выравнивания не очень полезна. –  n0pe 01.03.2013, 23:06

Теги

Похожие вопросы