Net Eng

Process ๋ณธ๋ฌธ

Linux

Process

ๆฌฒๅฟƒ 2024. 6. 18. 21:01

๐Ÿ’ก ํ”„๋กœ์„ธ์Šค๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋˜์–ด ์‹ค์ œ๋กœ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ์ƒํƒœ๋ฅผ ๋งํ•œ๋‹ค. ํ”„๋กœ์„ธ์Šค๋Š” ์ปดํ“จํ„ฐ ๋‚ด์—์„œ ์‹คํ–‰์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์˜ ์ธ์Šคํ„ด์Šค์ด๋‹ค.

 

๐Ÿ’ก ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ์€ ์‹คํ–‰๋  ๋•Œ ํ•˜๋‚˜ ์ด์ƒ์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ–๋Š”๋‹ค. ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค์—๋Š” ์—ฌ๋Ÿฌ ๋ช…๋ น์–ด์™€ ์นด์šดํŠธ, CPU ๋ ˆ์ง€์Šคํ„ฐ, ๊ทธ๋ฆฌ๊ณ  ๋ฃจํ‹ด ์ธ์ž, ๋ณต๊ท€ ์ฃผ์†Œ, ์ €์žฅ๋œ ๋ณ€์ˆ˜ ๋“ฑ์˜ ํ…Œ์ดํ„ฐ ์Šคํƒ์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. ๊ฐ ํ”„๋กœ์„ธ์Šค๋Š” ๊ณ ์œ ์˜ ๊ถŒํ•œ๊ณผ ์ฑ…์ž„์„ ๊ฐ€์ง€๊ณ  ์„œ๋กœ ํ†ต์‹ ํ•˜๋ฉฐ, ์‹œ์Šคํ…œ์—์„œ ๋™์ž‘์ค‘์ธ ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž˜๋ชป๋œ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ์—๋Ÿฌ๋ฅผ ์ผ์œผํ‚ค๋”๋ผ๋„ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋Š” ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•œ๋‹ค. ๊ฐœ๋ณ„ ํ”„๋กœ์„ธ์Šค๋Š” ์ž์‹ ์˜ ๊ฐ€์ƒ ์ฃผ์†Œ ๊ณต๊ฐ„์—์„œ ์‹คํ–‰๋˜๋ฉฐ, ์ปค๋„์ด ์ œ๊ณตํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด์„œ๋งŒ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์™€ ์—ฐ๋™ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿ’ก ํ”„๋กœ์„ธ์Šค๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ž์›์„ ์‚ฌ์šฉํ•œ๋‹ค. ํ”„๋กœ์„ธ์Šค๋Š” ํ•ด๋‹น ๋ช…๋ น์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์šด์˜์ฒด์ œ์— ๋”ฐ๋ผ CPU๋ฅผ ์ ์œ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ช…๋ น์–ด์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ํ”„๋กœ์„ธ์Šค๋Š” ์šด์˜์ฒด์ œ์˜ ์ œ์–ด๋ฅผ ๋ฐ›์œผ๋ฉด์„œ ์‹คํ–‰(running), ๋Œ€๊ธฐ(waiting), ์ค‘๋‹จ(stopped), ์ข€๋น„(zombie) ์ค‘ ํ•œ ์ƒํƒœ์— ์žˆ๊ฒŒ ๋œ๋‹ค.

 

โ–  PS ๋ช…๋ น์–ด

[๋ช…๋ น์–ด ํ˜•์‹]
# ps 				/* ํ˜„์žฌ ํ„ฐ๋ฏธ๋„์—์„œ ์‹คํ–‰๋œ ํ”„๋กœ์„ธ์Šค์˜ ๊ฐ„๋žตํ•œ ์ •๋ณด ํ™•์ธ */
# ps -l 			/* ํ˜„์žฌ ํ„ฐ๋ฏธ๋„์—์„œ ์‹คํ–‰๋œ ํ”„๋กœ์„ธ์Šค์˜ ์ž์„ธํ•œ ์ •๋ณด ํ™•์ธ */
# ps -a 			/* ์‚ฌ์šฉ์ž ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ์ •๋ณด ํ™•์ธ */
# ps -U <์‚ฌ์šฉ์ž๋ช…> 	(# ps -U user01, # ps -U user01,user02,user03)
					/* ํŠน์ •ํ•œ ์‚ฌ์šฉ์ž๊ฐ€ ์‹คํ–‰์‹œํ‚จ ํ”„๋กœ์„ธ์Šค์˜ ๊ฐ„๋žตํ•œ ์ •๋ณด ํ™•์ธ */
# ps -t pts/5 		/* ํŠน์ •ํ•œ ํ„ฐ๋ฏธ๋„์—์„œ ์‹คํ–‰์‹œํ‚จ ํ”„๋กœ์„ธ์Šค์˜ ๊ฐ„๋žตํ•œ ์ •๋ณด ํ™•์ธ */

# ps aux | grep rsyslogd    
	# ps -ef | grep rsyslogd	/* ps -ef : System V Style */
	# ps aux | grep rsyslogd	/* ps aux : BSD Style */

 

OPTION FUNCTION
-e ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค ๋ฆฌ์ŠคํŠธ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
-f ํ”„๋กœ์„ธ์Šค ์‹œ์ž‘์‹œ๊ฐ„, ํ”„๋กœ์„ธ์Šค์˜ ๋ถ€๋ชจ ID, ๊ทธ ํ”„๋กœ์„ธ์Šค์— ๊ด€๋ จ๋œ ์‚ฌ์šฉ์ž ID, ๋ช…๋ น ์ด๋ฆ„๊ณผ ๊ฐ€๋Šฅํ•œ ๋งค๊ฐœ๋ณ€์ˆ˜๋“ฑ ๋ชจ๋“  ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. (full format)
-l ์ž์„ธํ•œ ์ •๋ณด ๋ณด๊ธฐ
-p (pid) ์ง€์ •๋œ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
-t (tty) ์ง€์ •๋œ ํ„ฐ๋ฏธ๋„์— ์—ฐ๊ด€๋œ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
-u (uid) ์ง€์ •๋œ ์‚ฌ์šฉ์ž์— ์—ฐ๊ด€๋œ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
a ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์˜ ํ”„๋กœ์„ธ์Šค ์ƒํƒœ๋„ ํ‘œ์‹œ๋œ๋‹ค.
x ํ™”๋ฉด์— ๋ณด์ด์ง€ ์•Š๋Š” ํ”„๋กœ์„ธ์Šค๊นŒ์ง€ ๋ชจ๋‘ ํ‘œ์‹œ

 

# ps aux

 

โ–  ํ—ค๋” ๋ถ€๋ถ„

user๋Š” ํ”„๋กœ์„ธ์Šค ์†Œ์œ ์ž์˜ ์ด๋ฆ„, ( u ์˜ต์…˜ )
PID๋Š” ํ”„๋กœ์„ธ์Šค ์‹๋ณ„์ž ๋ฒˆํ˜ธ
%CPU 	: ๋งˆ์ง€๋ง‰ 1๋ถ„ ๋™์•ˆ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ฌ์šฉํ•œ CPU ์ ์œ ์œจ ( u ์˜ต์…˜ )
%MAN 	: ๋งˆ์ง€๋ง‰ 1๋ถ„ ๋™์•ˆ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ฌ์šฉํ•œ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ ์œ ์œจ ( u,v ์˜ต์…˜ )
-u ์˜ต์…˜์œผ๋กœ ์‚ฌ์šฉ์ž์˜ ID๋‚˜ ์ด๋ฆ„์„ ์ง€์ •ํ•˜์—ฌ ์ง€์ •ํ•œ ์‚ฌ์šฉ์ž์˜ ํ”„๋กœ์„ธ์Šค๋งŒ์„ ์‚ดํŽด ๋ณผ์ˆ˜ ์žˆ๋‹ค.
VSZ 	: ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋œ ํ”„๋กœ์„ธ์Šค์˜ kb๋‹จ์œ„ ํฌ๊ธฐ
START๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹œ์ž‘๋œ ์‹œ๊ฐ„

 

โ–  STAT ํ•„๋“œ ์ƒ๋Œ€

-D : ๋””์Šคํฌ ์ž…์ถœ๋ ฅ ๋Œ€๊ธฐ ์ƒํƒœ๋กœ interrupts๋ฅผ ๊ฑธ ์ˆ˜ ์—†๋Š” ์ƒํƒœ
-R : ์‹คํ–‰์ค‘
-S : ์งง์€ sleep ์ƒํƒœ
-T : ์ •์ง€ ์ƒํƒœ
-Z : ์ข€๋น„ ์ƒํƒœ
-W : ์ƒ์ฃผํ•œ ํŽ˜์ด์ง€๊ฐ€ ์—†๋Š” ํ”„๋กœ์„ธ์Šค
-< : ๋†’์€ ์šฐ์„ ๊ถŒ ํ”„๋กœ์„ธ์Šค
-N : ๋‚ฎ์€ ์šฐ์„ ๊ถŒ ํ”„๋กœ์„ธ์Šค
-L : ํŽ˜์ด์ง€๊ฐ€ ๋ฝ์ด ๊ฑธ๋ฆฐ ์ƒํƒœ

 

โ–  Top CMD

(๋ช…๋ น์–ด ํ˜•์‹)
# top 
# top -u oracle				/* ํ•ด๋‹น ์‚ฌ์šฉ์ž์˜ ํ”„๋กœ์„ธ์Šค ์ •๋ณด๋ฅผ ์‹ค์‹œ๊ฐ„ ๋ชจ๋‹ˆํ„ฐ๋ง */
# top -p PID1,PID2,PID3	/* ํ•ด๋‹น ๋ฒˆํ˜ธ์˜ ํ”„๋กœ์„ธ์Šค ์ •๋ณด๋ฅผ ์‹ค์‹œ๊ฐ„ ๋ชจ๋‹ˆํ„ฐ๋ง */

 

โ–  Kill CMD

(๋ช…๋ น์–ด ํ˜•์‹) 
# kill PID           (# kill -15 PID, # kill -TERM PID)
# kill PID PID 
# kill -9 PID        (# kill -KILL PID)
# kill -2 PID        (# kill -INT PID)

 

์‹œ๊ทธ๋„ ๋ฒˆํ˜ธ ์‹œ๊ทธ๋„ ์ด๋ฆ„ ์„ค๋ช…
1 SIGHUP ํ”„๋กœ์„ธ์Šค ์žฌ์‹œ์ž‘(HangUp), ํ„ฐ๋ฏธ๋„์˜ ์ œ์–ด ํ”„๋กœ์„ธ์Šค ์ข…๋ฃŒ๋ฅผ ๋ณด๊ณ ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•œ๋‹ค. ๋˜ํ•œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒํ•˜์ง€ ์•Š๊ณ  ๋‹ค์‹œ ์ดˆ๊ธฐํ™”(์„ค์ • ์žฌ๋กœ๋“œ)ํ•˜๋Š” ๋ฐ์—๋„ ์‚ฌ์šฉํ•œ๋‹ค.
(EX): # kill -1 450
2 SIGINT ํ‚ค๋ณด๋“œ ์ธํ„ฐ๋ŸฝํŠธ(Interrupt, <Ctrl + C>), ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋œ๋‹ค. ์ฐจ๋‹จํ•˜๊ฑฐ๋‚˜ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.
(EX): # kill -2 450
3 SIGQUIT ํ‚ค๋ณด๋“œ ์ข…๋ฃŒ(CTRL + \), SIGINT์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ ์ข…๋ฃŒํ•  ๋•Œ ํ”„๋กœ์„ธ์Šค ๋คํ”„๊ฐ€ ๋ฐœ์ƒ๋œ๋‹ค.
(EX): # kill -3 450
9 SIGKILL ๊ฐ•์ œ ์ข…๋ฃŒ(force exit signal), ๊ฐ‘์ž‘์Šค๋Ÿฝ๊ฒŒ ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋œ๋‹ค. ์ฐจ๋‹จ, ๋ฌด์‹œ ๋˜๋Š” ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๋‹ค. ํ•ญ์ƒ ์น˜๋ช…์ ์ด๋‹ค.
(EX): # kill -9 450
15 SIGTERM ์ •์ƒ ์ข…๋ฃŒ(exit), ๊ธฐ๋ณธ ์‹œ๊ทธ๋„, ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋œ๋‹ค. SIGKILL๊ณผ ๋‹ฌ๋ฆฌ ์ฐจ๋‹จ, ๋ฌด์‹œ ๋˜๋Š” ์ฒ˜๋ฆฌ ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ๋ฅผ ์ •์ค‘์น˜ ์š”์ฒญํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์ž์ฒด ํด๋ฆฐ์—…(cleanup)์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
(EX): # kill -15 450)
18 SIGCONT ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ค‘์ง€๋œ ๊ฒฝ์šฐ ์žฌ๊ฐœํ•˜๊ธฐ ์œ„ํ•ด ์ „์†ก๋œ๋‹ค. ์ฐจ๋‹จํ•  ์ˆ˜ ์—†๋‹ค. ์ฒ˜๋ฆฌํ•˜๋”๋ผ๋„ ํ•ญ์ƒ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žฌ๊ฐœ๋œ๋‹ค.
(EX): # kill -18 450
19 SIGSTOP ํ”„๋กœ์„ธ์Šค๋ฅผ ์ผ์‹œ ์ค‘์ง€ํ•œ๋‹ค. ์ฐจ๋‹จ ๋˜๋Š” ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๋‹ค.
(EX): # kill -19 450
20 SIGTSTP ํ‚ค๋ณด๋“œ ์ค‘์ง€, SIGSTOP์™€ ๋‹ฌ๋ฆฌ ์ฐจ๋‹จ, ๋ฌด์‹œ ๋˜๋Š” ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. SUSP ํ‚ค ์กฐํ•ฉ(CTRL + Z)์„ ์‚ฌ์šฉํ•œ๋‹ค.
๊ธฐ๋ณธ๊ฐ’   kill ๋ช…๋ น์— ์•„๋ฌด ์‹ ํ˜ธ(signal)๋„ ์ž…๋ ฅํ•˜์ง€ ์•Š์œผ๋ฉด 15๋ฒˆ ์‹ ํ˜ธ์ธ SIGTERM์„ ๋ณด๋‚ธ๋‹ค. (๊ธฐ๋ณธ๊ฐ’)

'Linux' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

SSH  (0) 2024.06.18
VIM Editor  (0) 2024.06.18
Crontab ๋ช…๋ น์–ด  (0) 2024.06.18
Chrony ๋ช…๋ น์–ด  (0) 2024.06.18
GPT ๊ฒ€์ƒ‰ ๋ช…๋ น์–ด ์ •๋ฆฌ  (0) 2024.06.05