2017-02-20 31 views
0

У меня есть процесс Abinitio, запущенный на сервере Red hat.Определите, какой порт unix привязан к процессу или нет

Этот процесс в основном является web-сервисом, который связан с портом на этом запущенном сервере unix. Передний конец отправляет запрос в этот ПОРТ UNIX, который, в свою очередь, считывается процессом abinitio и обрабатывается далее.

Как определить, связан ли процесс с портом unix или нет?

Я столкнулся с странной ситуацией каждый понедельник (в выходные), когда я пытаюсь попасть в веб-сервис через SOAP, я получаю исключение тайм-аута сокета. Чтобы решить эту проблему, я должен остановить и начать процесс.

Я хочу, чтобы все сокеты не отвечали, учитывая список портов.

ответ

0

Поскольку это на UNIX, lsof -i :port_number даст вам подробную информацию о том, что процесс, связанный с данным портом

0

NETSTAT -lnp перечислит Pid и процесса имя рядом с каждым портом прослушивания. Это будет работать под Linux, но не все остальные (например, AIX.) Добавить -t, если вы хотите только TCP.

[email protected]:/# netstat -lnpt 
Active Internet connections (only servers) 
Proto Recv-Q Send-Q Local Address  Foreign Address  State  PID/Program name 
tcp6  0  0 127.0.0.1:8005  :::*     LISTEN  1/java 
tcp6  0  0 :::8009    :::*     LISTEN  1/java 
tcp6  0  0 :::8080    :::*     LISTEN  1/java 
+0

Что бы это значило, если в ответе не было упомянутого процесса. Я получил «-» после LISTEN. Я получаю такой же ответ с командой netstat -nlp для обоих случаев: один для порта, в который я могу получить ответ, а для другого, где timeout socketException получен через SOAP :( – NishantM

+0

Я только что проверил еще раз в Ubuntu и получил ожидаемый вывод рядом с LISTEN.Я отредактирую свой ответ, чтобы показать результат. Какой Linux вы используете, поскольку я заявил, что он не будет работать на всех производных? – cjuette

0

Использовать команду netstat.

netstat -anp | grep pid

Вы также можете использовать nmap для проверки того, какие порты прослушивают машину.

nmap -sT -O machine_ip