Остановка с <Ctrl+Z>
и продолжение в фоновом режиме с bg
эквивалентно для выполнения с &
в конце команды.
Так, для выполненного в фоновом режиме и перенаправления произведите:
java -jar myProgram.jar 2> errorOutput.log > output.log &
Если Вам также нужна та эта команда, не умирает, когда Вы оставляете терминал, то необходимо использовать nohup
Я считаю, что netstat -ntp
покажет только клиентские (не прослушивающие) сокеты в столбце Локальный адрес .
Флаг -l
должен заставить netstat
перечислить только серверные (прослушивающие) сокеты, а с -a
вы должны получить оба, а затем вы можете различать на основе ГОСУДАРСТВО с.
Если вы запустите netstat
без grep
,
вы увидите, что столбец слева от центра
имеет заголовок например "Местный адрес"
, а столбец справа от центра имеет заголовок типа "Внешний адрес".
Строка, которая показывает локальный адрес, который включает номер порта сервера
, является сервером.
Вы можете лучше понять это , если запустите два клиентских процесса одновременно, а затем запустите
sudo netstat -ntp | grep -E "Address|8002"
И почему не появляется идентификатор / описание процесса, когда сокет находится в состоянии
FIN_WAIT2
?
Вероятно, потому что процесс завершился;
в конце концов, FIN
означает «конец» или «окончание».
Пакеты FIN и состояния FIN_
связаны с
завершением (закрытием) TCP-соединения
, что обычно происходит только тогда, когда с ним завершаются процессы { {1}} (что происходит автоматически, когда один или оба процесса умирают).
Сокет может оставаться в системе некоторое время
после того, как процесс, который его открыл, завершился.
Опять же, вы, вероятно, лучше почувствуете это, запустив netstat
, когда оба процесса работают и исправны,
, а затем посмотрите, как он меняется, когда они закрываются.