Вы можете приблизиться к тому, что хотите, обратившись к длине элемента, и объединитесь с тернарным оператором:
console.log(!!$('#notfound').length); // false
console.log(!!$('#exists').length); // true
var element= $('#notfound').length ? $('#notfound') : $('#exists');
console.log(element.attr('id')); // outputs 'exists'
. В центре вопроса:
Не было бы более логичным, если бы селектор идентификаторов возвращал null, если не был найден?
blockquote>Нет, не для способа JQuery делать вещи, а именно для поддержки цепочки операторов JQuery:
$('#notfound').hide("slow", function(){ jQuery(this) .addClass("done") .find("span") .addClass("done") .end() .show("slow", function(){ jQuery(this).removeClass("done"); }); });
Несмотря на то, что
notfound
не существует, этот код будет работать без остановки выполнения скрипта. Если начальный селектор возвращает null, вам нужно будет добавить блок if / then для проверки нулевого значения. Если методы addClass, find, end и show возвращают null, вам нужно будет добавить блок if / then, чтобы проверить статус возврата каждого из них. Цепочка - отличный способ обработать поток программ на динамически типизированном языке, таком как Javascript.
Get-Process -Id (Get-NetTCPConnection -LocalPort portNumber).OwningProcess
C:\> netstat -a -b
(Добавляют -n для остановки его пытающийся разрешить имена узлов, которые сделают его намного быстрее.)
рекомендация датчанина Примечания для TCPView. Это выглядит очень полезным!
Дисплеи-a все соединения и порты прослушивания.
Дисплеи-b исполняемый файл, вовлеченный в создание каждого порта подключения или порта прослушивания. В некоторых случаях известные исполняемые файлы размещают несколько независимых компонентов, и в этих случаях отображена последовательность компонентов, вовлеченных в создание порта подключения или порта прослушивания. В этом случае исполняемое имя находится в [] в нижней части, на вершине компонент, который это назвало, и т.д пока TCP/IP не был достигнут. Обратите внимание, что эта опция может быть трудоемкой и перестанет работать, если у Вас нет достаточных полномочий.
адреса Дисплеев-n и номера портов в числовой форме.
Дисплеи-o идентификатор процесса владения, связанный с каждым соединением.
Используйте TCPView, если Вы хотите GUI для этого. Это - старое приложение Sysinternals, которое выкупила Microsoft.
Если требуется использовать инструмент GUI, чтобы сделать это, там SysInternals TCPView.
Основа на тех ответах: информация и уничтожают . Для меня полезно объединить их в [1 112] одна команда . И можно выполнить это от cmd для получения информации о процессе, которые слушают на данном порте (пример 8080):
for /f "tokens=3 delims=LISTENING" %i in ('netstat -ano ^| findStr "8080" ^| findStr "["') do tasklist /fi "pid eq %i"
Или если Вы хотите уничтожить его:
for /f "tokens=3 delims=LISTENING" %i in ('netstat -ano ^| findStr "8080" ^| findStr "["') do Taskkill /F /IM %i
можно также поместить, они управляют в bat-файл (они будут немного отличаться - замена %i
для %%i
):
portInfo.bat
for /f "tokens=3 delims=LISTENING" %%i in (
'netstat -ano ^| findStr "%1" ^| findStr "["'
) do (
tasklist /fi "pid eq %%i"
)
portKill.bat
for /f "tokens=3 delims=LISTENING" %%i in (
'netstat -ano ^| findStr "%1" ^| findStr "["'
) do (
Taskkill /F /IM %%i
)
Тогда Вы от cmd можно сделать это: portInfo.bat 8080
или portKill.bat 8080