μλμ°μμ νΉμ ν¬νΈλ₯Ό μ¬μ©μ€μΈ νλ‘μΈμ€ μ€μ§νκΈ°
μλ νμΈμ μΌμ΄μΉμ λλ€.
μ€λμ μλμ°μμ νΉμ ν¬νΈλ₯Ό μ¬μ©μ€μΈ νλ‘μΈμ€λ₯Ό μ£½μ΄λ λ²μ κ°μ§κ³ μμ΅λλ€.
μ΅κ·Όμ Node.js μ±μ ν μ€νΈν΄λ³Ό μΌμ΄ μμλλ° κ³ μ μ μΌλ‘ νΉμ ν¬νΈλ₯Ό μ¬μ©νλ μ±μ΄μμ΅λλ€. μλμ°μμ cmd μ°½μ λμμ μ€νμμΌ°λ€κ° Ctrl + Cλ‘ νλ‘κ·Έλ¨μ μ€μ§μμΌ°λλ° λ€μ κΈ°λμμΌ°λλ ν¬νΈκ° μ΄λ―Έ μ¬μ©μ€μ΄λΌλ©΄μ μλ¬κ° λλλΌκ΅¬μ. κ·Έλμ μ΄λμ μ΄λ»κ² μ£½μ¬μΌ νλ μ°Ύμλ΄€μ΅λλ€.
μ°μ μ νκ²½μ Windows 10μ΄κ΅¬μ CMDμ°½μ λμ°λ©΄ μλμ²λΌ λμ΅λλ€.
μ κ° λ΄€λ μλ¬ λ©μμ§λ μλμ κ°κ΅¬μ
Error: listen EADDRINUSE :::2002
2002λ² ν¬νΈκ° μ΄λ―Έ μ¬μ©μ€μ΄λΌλ λ©μμ§μ λλ€.
κ·ΈλΌ λκ° μ΄ ν¬νΈλ₯Ό μ¬μ©μ€μΈμ§ μ°Ύμλ³΄μ£ .
cmd μ°½μ μλ λͺ λ Ήμ΄λ₯Ό μ λ ₯ν©λλ€.
C:\Users\dev>netstat -ano|find "2002"
TCP 0.0.0.0:2002 0.0.0.0:0 LISTENING 5096
TCP [::]:2002 [::]:0 LISTENING 5096
μΆλ ₯λ λ΄μ©μ TCP νλ‘ν μ½μμ 2002λ² ν¬νΈλ‘ 리μ€λνκ³ μλ νλ‘μΈμ€μ IDκ° 5096λ²μ΄λΌλ κ±Έ λ§ν΄μ€λλ€. μ°λ¦¬λ 5096 νλ‘μΈμ€λ₯Ό μ£½μ΄λ©΄ λλκ±°κ² μ£ . μ£½μ΄κΈ° μ μ μ λͺ λ Ήμ΄μ λν΄μ μ€λͺ μ μ’ λλ¦¬κ² μ΅λλ€.
netstat -anoλ netstat λͺ λ Ήμ΄λ₯Ό a, n, o μ΅μ μΌλ‘ μ€νμν€λΌλ μλ―Έμ£ . μ¬κΈ°μ a, n, oμ λν μ€λͺ μ netstat /? λ₯Ό μ λ ₯νλ©΄ νμΈν μ μμ΅λλ€.
C:\Users\dev>netstat /?
νλ‘ν μ½ ν΅κ³μ νμ¬ TCP/IP λ€νΈμν¬ μ°κ²°μ νμν©λλ€.
NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-x] [-t] [interval]
-a λͺ¨λ μ°κ²°κ³Ό μμ λκΈ° ν¬νΈλ₯Ό νμν©λλ€.
-b κ° μ°κ²° λλ μμ λκΈ° ν¬νΈ μμ±κ³Ό κ΄λ ¨λ μ€ν νμΌμ
νμν©λλ€. μ μλ €μ§ μ€ν νμΌμ΄ μ¬λ¬ λ 립 κ΅¬μ± μμλ₯Ό
νΈμ€ν ν κ²½μ° μ°κ²° λλ μμ λκΈ° ν¬νΈ μμ±κ³Ό κ΄λ ¨λ
κ΅¬μ± μμμ μνμ€κ° νμλ©λλ€.
μ΄λ¬ν κ²½μ°μλ μ€ν νμΌ μ΄λ¦μ΄ λκ΄νΈλ‘ μλμ
νμλκ³ μμλ TCP/IPμ λλ¬ν λκΉμ§
νΈμΆλ κ΅¬μ± μμκ° νμλ©λλ€. μ΄ μ΅μ μ μκ°μ΄ μ€λ
걸릴 μ μμΌλ©° μ¬μ© κΆνμ΄ μμΌλ©΄ μ€ν¨ν©λλ€.
-e μ΄λλ· ν΅κ³λ₯Ό νμν©λλ€. μ΄ μ΅μ μ -s μ΅μ κ³Ό ν¨κ»
μ¬μ©ν μ μμ΅λλ€.
-f μΈλΆ μ£Όμμ FQDN(μ κ·νλ λλ©μΈ μ΄λ¦)μ
νμν©λλ€.
-n μ£Όμμ ν¬νΈ λ²νΈλ₯Ό μ«μ νμμΌλ‘ νμν©λλ€.
-o κ° μ°κ²°μ μμ μ νλ‘μΈμ€ IDλ₯Ό νμν©λλ€.
-p proto protoλ‘ μ§μ ν νλ‘ν μ½μ μ°κ²°μ νμν©λλ€. protoλ
TCP, UDP, TCPv6 λλ UDPv6 μ€ νλμ λλ€. -s μ΅μ κ³Ό ν¨κ»
μ¬μ©νμ¬ νλ‘ν μ½λ³ ν΅κ³λ₯Ό νμν κ²½μ° protoλ IP, IPv6, ICMP,
ICMPv6, TCP, TCPv6, UDP λλ UDPv6 μ€ νλμ λλ€.
-q λͺ¨λ μ°κ²°, μμ λκΈ° ν¬νΈ λ° λ°μΈλ©λ λΉμμ λκΈ° TCP
ν¬νΈλ₯Ό νμν©λλ€. λ°μΈλ©λ λΉμμ λκΈ° ν¬νΈλ νμ± μ°κ²°κ³Ό μ°κ²°λκ±°λ
μ°κ²°λμ§ μμ μλ μμ΅λλ€.
-r λΌμ°ν ν μ΄λΈμ νμν©λλ€.
-s νλ‘ν μ½λ³ ν΅κ³λ₯Ό νμν©λλ€. κΈ°λ³Έμ μΌλ‘ IP, IPv6, ICMP,
ICMPv6, TCP, TCPv6, UDP λ° UDPv6μ λν ν΅κ³λ₯Ό νμν©λλ€.
-p μ΅μ μ μ¬μ©νμ¬ κΈ°λ³Έκ°μ μΌλΆ μ§ν©μ λν ν΅κ³λ§
μ§μ ν μ μμ΅λλ€.
-t νμ¬ μ°κ²° μ€νλ‘λ μνλ₯Ό νμν©λλ€.
-x NetworkDirect μ°κ²°, μμ κΈ° λ° κ³΅μ λμ μ
νμν©λλ€.
-y λͺ¨λ μ°κ²°μ λν TCP μ°κ²° ν νλ¦Ώμ νμν©λλ€.
λ€λ₯Έ μ΅μ κ³Ό ν¨κ» μ¬μ©ν μ μμ΅λλ€.
interval λ€μ νλ©΄μΌλ‘ μ΄λνκΈ° μ μ μ§μ ν μκ°(μ΄) λμ μ νν ν΅κ³λ₯Ό λ€μ νμν©λλ€.
ν΅κ³ λ€μ νμλ₯Ό μ€μ§νλ €λ©΄ <Ctrl+C>λ₯Ό λλ₯΄μμμ€.
μ΄ κ°μ μλ΅νλ©΄ νμ¬ κ΅¬μ± μ 보κ°
ν λ²λ§ μΆλ ₯λ©λλ€.
μ΄λ κ² μ€νλ κ²°κ³Όλ₯Ό νμ΄ν( | )λ₯Ό ν΅ν΄ find λͺ λ Ήμ΄λ‘ μ λ¬νμ¬ "2002"λ₯Ό μ°ΎμΌλΌκ³ νκ³ μμ£ . find λͺ λ Ήμ΄λ 리λ μ€μ grepκ³Ό λΉμ·ν κΈ°λ₯μ ν©λλ€.
find "2002"λ₯Ό μ μΈν μ λΆλΆλ§ μ€νμν€λ©΄ 2002ν¬νΈ λ§κ³ λ λ€λ₯Έ μ¬λ¬ ν¬νΈλ€μ λν λͺ©λ‘μ΄ ν¨κ» μΆλ ₯λ©λλ€.
μ, κ·ΈλΌ 5096λ² νλ‘μΈμ€λ₯Ό μ£½μ¬λ³ΌκΉμ?
μλμ°μμ νλ‘μΈμ€λ₯Ό μ£½μΌ λλ "μμ κ΄λ¦¬μ"λ₯Ό μ΄μ©νλ λ°©λ²λ μμ§λ§ κ°λ°μ νλ€λ³΄λ©΄ κ°νΉ μμ κ΄λ¦¬μμμ μ°ΎκΈ° νλ λ μλ€μ΄ μμ£ . κ·Έλ΄ κ²½μ° cmdμ°½μμ μμ μ νλ©΄ ν¨μ¬ μμνκ² μμ μ ν μ μμ΅λλ€.
νλ‘μΈμ€λ₯Ό μ£½μΌ λλ taskkill λͺ λ Ήμ΄λ₯Ό μ¬μ©ν©λλ€. κ·ΈλΌ μ΄λ μμ λν μ€λͺ μ νλ² λ³ΌκΉμ?
C:\Users\dev>taskkill /?
TASKKILL [/S μμ€ν [/U μ¬μ©μ μ΄λ¦ [/P [μνΈ]]]]
{ [/FI νν°] [/PID νλ‘μΈμ€ id | /IM μ΄λ―Έμ§ μ΄λ¦] } [/T] [/F]
μ€λͺ :
μ΄ λꡬλ νλ‘μΈμ€ ID(PID) λλ μ΄λ―Έμ§ μ΄λ¦μΌλ‘ μμ μ μ’ λ£νλ λ°
μ¬μ©ν©λλ€.
λ§€κ° λ³μ λͺ©λ‘:
/S μμ€ν μ°κ²°ν μ격 μμ€ν μ μ§μ ν©λλ€.
/U [λλ©μΈ\]μ¬μ©μ λͺ λ Ήμ μ€νν΄μΌ νλ μ¬μ©μ 컨ν μ€νΈλ₯Ό
μ§μ ν©λλ€.
/P [μνΈ] ν΄λΉ μ¬μ©μ 컨ν μ€νΈμ μνΈλ₯Ό μ§μ ν©λλ€.
μλ΅ν κ²½μ°μλ λ¬Όμ΄λ΄ λλ€.
/FI νν° μμ μ§ν©μ μ ννλ νν°λ₯Ό μ μ©ν©λλ€.
"*"λ₯Ό μ¬μ©ν μ μμ΅λλ€. μ: imagename eq acme*
/PID νλ‘μΈμ€_ID μ’ λ£ν νλ‘μΈμ€μ PIDλ₯Ό μ§μ ν©λλ€.
TaskListλ₯Ό μ¬μ©νμ¬ PIDλ₯Ό μ»μ μ μμ΅λλ€.
/IM μ΄λ―Έμ§ μ΄λ¦ μ’ λ£ν νλ‘μΈμ€μ μ΄λ―Έμ§ μ΄λ¦μ
μ§μ ν©λλ€. μμΌλμΉ΄λ λ¬Έμ '*'λ₯Ό μ¬μ©νμ¬
λͺ¨λ μμ λλ μ΄λ―Έμ§ μ΄λ¦μ μ§μ ν μ μμ΅λλ€.
/T μ§μ λ νλ‘μΈμ€μ κ·Έ νλ‘μΈμ€λ‘λΆν° μμλ
λͺ¨λ μμ νλ‘μΈμ€λ₯Ό μ’ λ£ν©λλ€.
/F νλ‘μΈμ€λ₯Ό κ°μ λ‘ μ’ λ£νλλ‘ μ§μ ν©λλ€.
/? μ΄ λμλ§ λ©μμ§λ₯Ό νμν©λλ€.
νν°:
νν° μ΄λ¦ μ ν¨ν μ°μ°μ μ ν¨ν κ°
----------- --------------- -------------------------
STATUS eq, ne RUNNING |
NOT RESPONDING | UNKNOWN
IMAGENAME eq, ne μ΄λ―Έμ§ μ΄λ¦
PID eq, ne, gt, lt, ge, le PID κ°
SESSION eq, ne, gt, lt, ge, le μΈμ λ²νΈ.
CPUTIME eq, ne, gt, lt, ge, le CPU μκ° νμ
hh:mm:ss
hh - μκ°,
mm - λΆ, ss - μ΄
MEMUSAGE eq, ne, gt, lt, ge, le λ©λͺ¨λ¦¬ μ¬μ©(KB)
USERNAME eq, ne μ¬μ©μ μ΄λ¦([domain\]user
νμ)
MODULES eq, ne DLL μ΄λ¦
SERVICES eq, ne μλΉμ€ μ΄λ¦
WINDOWTITLE eq, ne μ°½ μ λͺ©
μ°Έκ³
----
1) /IM μ€μμΉμ λν μμΌλμΉ΄λ λ¬Έμ '*'λ νν°κ° μ μ©λ λλ§
μ¬μ©ν μ μμ΅λλ€.
2) μ격 νλ‘μΈμ€λ νμ κ°μ μ μΌλ‘(/F) μ’ λ£λ μ μμ΅λλ€.
3) μ격 μ»΄ν¨ν°κ° μ§μ λλ©΄ "WINDOWTITLE" λ° "STATUS" νν°λ
μ§μλμ§ μμ΅λλ€.
μ:
TASKKILL /IM notepad.exe
TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
TASKKILL /F /IM cmd.exe /T
TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe
TASKKILL /S μμ€ν /U domain\username /FI "USERNAME ne NT*" /IM *
TASKKILL /S μμ€ν /U μ¬μ©μ μ΄λ¦ /P μνΈ /FI "IMAGENAME eq note*"
μ€λͺ μ μ½μ΄λ³΄λ μ°λ¦¬μκ² νμν λ΄μ©μ΄ λ무λλ μ μ€λͺ λμ΄μλ€μ.
κ·ΈλΌ μ΄μ νλ‘μΈμ€λ₯Ό μ£½μ¬λ³΄κ² μ΅λλ€.
C:\Users\dev>netstat -ano|find "2002"
TCP 0.0.0.0:2002 0.0.0.0:0 LISTENING 5096
TCP [::]:2002 [::]:0 LISTENING 5096
C:\Users\dev>taskkill /pid 5096
μ€λ₯: νλ‘μΈμ€(PID 5096)λ₯Ό μ’ λ£ν μ μμ΅λλ€.
μμΈ: μ΄ νλ‘μΈμ€λ /F μ΅μ μ μ¬μ©νμ¬ κ°μ λ‘ μ’ λ£ν΄μΌ ν©λλ€.
C:\Users\dev>taskkill /pid 5096 /f /t
μ±κ³΅: PID 5096μΈ νλ‘μΈμ€(PID 11172μΈ μμ νλ‘μΈμ€)κ° μ’ λ£λμμ΅λλ€.
보μλ©΄ μ€κ°μ μ€λ₯κ° νλ² λλ©΄μ /Fμ΅μ μ μ°λΌκ³ λμ€λ€μ. μ°Έκ³ μ μ격 νλ‘μΈμ€λ /F μ΅μ μ μ€μΌ μ’ λ£λλ€κ³ λμμλλ° κ·Έκ±° λλ¬ΈμΈκ² κ°μ΅λλ€. κ·Έλμ Fμ΅μ μ μΆκ°νκ³ νΉμλ ν΄μ μμνλ‘μΈμ€κΉμ§ μ£½μ΄λ Tμ΅μ μ μΆκ°νμ΅λλ€. μ!! κ·Έλ¦¬κ³ μ΅μ μ λμλ¬Έμ ꡬ문μ νμ§ μμ΅λλ€. μλμ°λ μμ΄ λμλ¬Έμ ꡬλΆμ νμ§ μμ£ .
μ΄μμ λλ€. μ€λμ μ¬κΈ°κΉμ§ μΈκ²μ. μ€λλ μ¦μ½νμΈμ~