Открытые порты проверки с практическими рекомендациями определенного кота экземпляр Java

Как Warner говорит выше, ребенок ssh демона (который является оболочкой входа в систему, и это - дети), доберется SIGHUP, но они не получат их немедленно. Будет задержка, иногда в минутах, прежде чем ssh демон на стороне сервера разочаруется в Вашем соединении. В течение того времени процесс продолжит работать.

Как Сигнализатор, также сказанный, процесс может принять решение проигнорировать SIGHUP, в этом случае это продолжит работать, пока это не должно будет запросить вход и затем найти STDIN закрылся.

1
задан 19 July 2011 в 19:52
3 ответа
for i in $(ps aux | awk '/activemq/ {print $2}' | sort -gu); do netstat -lp | grep $i; done

tcp        0      0 localhost:32000         *:*                     LISTEN      23059/java      
tcp6       0      0 HPM.DMZ:61616           [::]:*                  LISTEN      23059/java      
tcp6       0      0 [::]:8161               [::]:*                  LISTEN      23059/java      
tcp6       0      0 [::]:36168              [::]:*                  LISTEN      23059/java

было короче, но это называет netstat многократно.

0
ответ дан 4 December 2019 в 10:21

Этот будет немного более кратким; это проверяет, которые являются pids названных процессов".*activemq.*"и после того, как это проверяет их открытые порты:

netstat -lp | grep  $(ps aux | awk '/[a]ctivemq/ {print $2}')

Можно добавить фильтр uniq, если Вы должны:

netstat -lp | grep  $(ps aux | awk '/[a]ctivemq/ {print $2}' | sort -u)

ОТРЕДАКТИРОВАННЫЙ НА ОСНОВЕ КОММЕНТАРИЕВ JOE:

Joe Nazz записал:

Это не работает. Результатом" "" $ (PS aux | awk '/ctivemq/{печатают 2$}' | вид-u)""" являются несколько строк, которые не может распознать grep. Это не прибывает "Такой файл или dir..." –

Вы правы, Если существует несколько процессов, мы должны работать немного больше в regexp выражении нашего grep.

Таким образом, для хранения моей команды run-netstat-just-once, выражение должно быть чем-то подобным:

~# netstat -lp | grep $(ps aux | awk '/[a]pache/ {a=a"\|"$2} END { sub(/^../,"",a); print "("a")"}')

Команда создает regexp для соответствия каждому pid апача (я использую apache2 в качестве много процесса экземпляра для соответствия потребностям). Как Вы будете видеть в следующем выражении, regexp создал попытки соответствовать каждому pid апача:

~# ps aux | awk '/[a]pache/ {a=a"\|"$2} END { sub(/^../,"",a); print "("a")"}'
(7335\|7336\|7337\|7338\|7339\|8733\|8744\|13418\|13421\|23126)

– Joe Nazz записал:

[...], Но что делает сингл в средних скобках? –

О Вашем вопросе, связанном того, почему я использовал в regexp, это - очень старый прием, чтобы не соответствовать процессу, созданному regexp это сам. Следующий пример сам объяснительный:

~# ps aux | grep foo
root     10932  0.0  0.0   9608   868 pts/0    S+   11:42   0:00 grep foo
~# ps aux | grep "[f]oo"
~# 

PS: если Вы чувствуете, что этот ответ был полезен, не оставляйте не проголосовавшими

0
ответ дан 4 December 2019 в 10:21

Это получает "activemq" pids, тестирует тот, был возвращен, выполняет netstat однажды.

pids=`ps -eo 'pid,args' | awk '/activemq/ && !/awk/ {print $1}'`
test -n "${pids}" && netstat -lp | egrep -w "(`echo ${pids} | tr ' ' '|'`)"
0
ответ дан 4 December 2019 в 10:21

Теги

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