๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โœ’๏ธ Linux Programming/with VMware Workstation

[Linux & VMware Workstation] Day 8 : ํ”„๋กœ์„ธ์Šค ๋ช…๋ น์–ด์™€ ์ž‘์—… ์ฒ˜๋ฆฌ & ์‰˜๊ณผ ์‰˜ ๋ช…๋ น์–ด

by A Lim Han 2022. 5. 9.

1. ํ”„๋กœ์„ธ์Šค ๋ช…๋ น์–ด

 

 

A) ps ๋ช…๋ น์–ด

: ํ˜„์žฌ ์ง„ํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค์˜ ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ช…๋ น์–ด๋กœ, 'process status'์˜ ์•ฝ์ž์ด๋‹ค.

  'ps [ ์˜ต์…˜ ]' ์˜ ํ˜•ํƒœ๋กœ ์‚ฌ์šฉํ•˜๋ฉฐ, ํ”„๋กœ์„ธ์Šค์˜ ํ™•์ธ์ด๋‚˜ ๊ด€๋ฆฌ๊ฐ€ ํ•„์š”ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

 

 

# ps ๋ช…๋ น์–ด์™€ ์‚ฌ์šฉํ•˜๋Š” ์˜ต์…˜

 

-ef : ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹๋ณ„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ „์ฒด ํ”„๋กœ์„ธ์Šค๋ฅผ ์ถœ๋ ฅ

-e : ์‹œ์Šคํ…œ ์•ˆ์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ถˆ๋Ÿฌ์˜ด

-u UID : ํŠน์ • ์‚ฌ์šฉ์ž์˜ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋ฅผ ์ถœ๋ ฅ

-f : ํŠน์ • ํ”„๋กœ์„ธ์Šค๋ฅผ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์™€ ๊ตฌ๋ณ„๋˜๊ฒŒ ํ•˜๋Š” ์‹๋ณ„์šฉ ์ •๋ณด๋ฅผ ์ถœ๋ ฅ

-o ํ•ญ๋ชฉ : ์‹œ์Šคํ…œ ์† ์กด์žฌํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์˜ ์ •๋ณด ์ค‘ ํŠน์ • ํ•ญ๋ชฉ์— ํ•œํ•ด ์ถœ๋ ฅ

-p PID : ์ „์ฒด ํ”„๋กœ์„ธ์Šค ์ •๋ณด ์ค‘ ํŠน์ •ํ•œ ํ”„๋กœ์„ธ์Šค ID(PID)์— ๋Œ€ํ•œ ์ •๋ณด๋งŒ์„ ์„ ๋ณ„ํ•˜์—ฌ ์ถœ๋ ฅ

-์ธ์ž๊ฐ€ ์—†์„ ๋•Œ : ํ˜„์žฌ ์ ‘์†ํ•œ ํ„ฐ๋ฏธ๋„์—์„œ ์‹คํ–‰ํ•œ ํ”„๋กœ์„ธ์Šค๋งŒ์„ ์ถœ๋ ฅ

 

 

 

 

 

B) pgrep ๋ช…๋ น์–ด

: ps ๋ช…๋ น์–ด์™€ grep ๋ช…๋ น์–ด๋ฅผ ํ˜ผํ•ฉํ•˜์—ฌ ๋งŒ๋“  ๋ช…๋ น์–ด๋กœ, ์‚ฌ์šฉ์ž์˜ ํŽธ์˜๋ฅผ ์œ„ํ•ด ์ด์šฉ์ž๊ฐ€ ์–ป๊ณ ์ž ํ•˜๋Š” ์ •๋ณด๋ฅผ ํŠน์ •ํ•œ ํ”„๋กœ์„ธ์Šค๋ช…์œผ๋กœ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์ •๋ณด๋ฅผ ๋ณด๋‹ค ํŽธํ•˜๊ฒŒ ์ถœ๋ ฅํ•˜๋Š” ๋ช…๋ น์–ด์ด๋‹ค. ์‚ฌ์šฉ ํ˜•์‹์€ 'ps [ ์˜ต์…˜ ] | grep ํŒจํ„ด'์˜ ํ˜•์‹์„ ์ทจํ•œ๋‹ค.

 

 

# pgrep ๋ช…๋ น์–ด์˜ ์˜ต์…˜

 

-x : ์ „์ฒด ํ”„๋กœ์„ธ์Šค ์ค‘ ํŒจํ„ด๊ณผ ๋™์ผํ•œ ํ”„๋กœ์„ธ์Šค๋งŒ์„ ๊ณจ๋ผ ์ถœ๋ ฅ

-n : ํ”„๋กœ์„ธ์Šค์˜ PID ์ค‘ ํŒจํ„ด๊ณผ ๋ถ€ํ•ฉํ•˜๋Š” ๊ฐ€์žฅ ์ตœ๊ทผ PID๋ฅผ ์ถœ๋ ฅ

-l : PID์™€ ํ•จ๊ป˜ ๋™์ผํ•œ ํ”„๋กœ์„ธ์Šค๋ช…์„ ์ถœ๋ ฅ

-u UID : ์‚ฌ์šฉ์ž์˜ ํ”„๋กœ์„ธ์Šค ๋ชจ๋‘๋ฅผ ์ถœ๋ ฅ

-t term : ์ „์ฒด ํ”„๋กœ์„ธ์Šค ์ค‘ ํŠน์ •ํ•œ ๋‹จ๋ง๊ธฐ์™€ ๊ด€๋ จ์ด ์žˆ๋Š” ์ •๋ณด๋งŒ์„ ์ถœ๋ ฅ

-c : ์กฐ๊ฑด์— ๋ถ€ํ•ฉํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅ

 

 

 

 

 

C) ์‹œ๊ทธ๋„๊ณผ ํ”„๋กœ์„ธ์Šค ์ข…๋ฃŒ

 

 

a) kill ๋ช…๋ น์–ด : ์ง€์ •ํ•œ ์‹œ๊ทธ๋„์„ ์‚ฌ์šฉ์ž๊ฐ€ ์ •ํ•œ ํ”„๋กœ์„ธ์Šค๋กœ ์ „์†กํ•˜๋Š” ๋ช…๋ น์–ด๋กœ, ์‹œ์Šคํ…œ์ƒ์˜ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด ์ƒํ™ฉ์—์„œ ํ”„๋กœ์„ธ์Šคํ”ž ํ„ฐ๋ฏธ๋„์—์„œ                     ์ข…๋ฃŒ์‹œ์ผœ์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์— ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค. ์‚ฌ์šฉ ํ˜•์‹์€ 'kill [ ์‹œ๊ทธ๋„ ] PID'๋ฅผ ๋”ฐ๋ฅธ๋‹ค.

 

 

# kill ๋ช…๋ น์–ด์˜ ์˜ต์…˜

 

-s : ํ”„๋กœ์„ธ์Šค๋กœ ์ „์†กํ•  ์‹œ๊ทธ๋„๋ช… ๋˜๋Š” ์‹œ๊ทธ๋„ ๋ฒˆํ˜ธ๋ฅผ ์ง€์ •

-์ˆซ์ž : -l์˜ ์˜ต์…˜์„ ์ž…๋ ฅํ•˜์˜€์„ ๋•Œ ๋‚˜ํƒ€๋‚˜๋Š” ์‹œ๊ทธ๋„์˜ ๋ฆฌ์ŠคํŠธ ์ค‘ ์‹œ๊ทธ๋„์˜ ์ˆซ์ž์™€ ๋งž๋Š” ์‹œ๊ทธ๋„์„ ์ง€์ •

-l : ์‹œ๊ทธ๋„๋ช…๊ณผ ์‹œ๊ทธ๋„ ๋ฒˆํ˜ธ๋ฅผ ํ•จ๊ป˜ ๋‚˜์—ด

 

 

 

 

 

b) pkill ๋ช…๋ น์–ด : ํ”„๋กœ์„ธ์Šค๋ช…์„ ํ†ตํ•ด ํŠน์ • ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฐพ์•„ ๊ทธ๊ณณ์œผ๋กœ ์‹œ๊ทธ๋„์„ ๋ณด๋‚ด๋Š” ๋ช…๋ น์–ด๋กœ, ์‚ฌ์šฉ๋ฒ•์€ 'pkill [ ์˜ต์…˜ ] [ ํŒจํ„ด ]'์„ ๋”ฐ๋ฅธ๋‹ค.

 

 

# pkill ๋ช…๋ น์–ด์˜ ์˜ต์…˜

 

-sleep : ์ง€์ •ํ•œ ์‹œ๊ฐ„๋™์•ˆ ํ”„๋กœ์„ธ์Šค๋ฅผ ์žฌ์šด ํ›„ ์ข…๋ฃŒ์‹œํ‚ด

-u : ํŠน์ • ์‚ฌ์šฉ์ž์— ์˜ํ•ด ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค์˜ PID์— ์‹œ๊ทธ๋„์„ ์ „์†ก

-g : ๊ทธ๋ฃน ๋‹จ์œ„์˜ ์‚ฌ์šฉ์ž์— ์˜ํ•ด ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค์˜ PID์— ์‹œ๊ทธ๋„์„ ์ „์†ก

 

 

 

 

 

2. ์ž‘์—… ์ฒ˜๋ฆฌ

 

 

A) ์ž‘์—… ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•

 

 

a) ํฌ๊ทธ๋ผ์šด๋“œ(fore-ground) ์ฒ˜๋ฆฌ : ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ๋ช…๋ น ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์œผ๋กœ, ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๋ช…๋ น์–ด๋ฅผ ํ„ฐ๋ฏธ๋„์ด ํ•ด์„ํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ๋‚ผ ๋•Œ๊นŒ์ง€                                                  ๋‹ค๋ฅธ ๋ช…๋ น์˜ ์ž…๋ ฅ์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ์ฒ˜๋ฆฌ ๋ฐฉ์‹

 

 

 

b) ๋ฐฑ๊ทธ๋ผ์šด๋“œ(back-ground) ์ฒ˜๋ฆฌ : ํ•˜๋‚˜์˜ ์‰˜์—์„œ ๋งŽ์€ ํ”„๋กœ์„ธ์Šค์˜ ๋™์‹œ ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•œ ์ฒ˜๋ฆฌ ๋ฐฉ์‹์œผ๋กœ, ์‚ฌ์šฉ์ž์˜ ๋ช…๋ น ์ž…๋ ฅ์ด ๋๋‚˜๊ณ  ๊ฒฐ                                                 ๊ณผ๊ฐ€ ๋‚˜์˜ค์ง€ ์•Š์•„๋„ ๋‹ค๋ฅธ ๋ช…๋ น์„ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

B) ์ž‘์—… ๋ชฉ๋ก ์ถœ๋ ฅ

 

 

a) jobs ๋ช…๋ น์–ด

: ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ์ž‘์—…๋“ค์„ ์ถœ๋ ฅํ•˜๋Š” ๋ช…๋ น์–ด๋กœ, ์‚ฌ์šฉ ํ˜•์‹์€ 'jobs [ ์˜ต์…˜ ] [ %์ž‘์—…๋ฒˆํ˜ธ ]'์ด๋‹ค. ๋‹จ, 'jobs [ ์˜ต์…˜ ]'์˜ ํ˜•์‹์—์„œ๋Š” ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ๋ฐฑ๊ทธ๋ผ์šด๋“œ์˜ ์ž‘์—…์„ ๋ถˆ๋Ÿฌ์˜จ๋‹ค.

 

# ์ž‘์—… ์ˆœ์„œ -> +,-,๊ณต๋ฐฑ

# ์ž‘์—… ๋ฒˆํ˜ธ -> [2], [6]

# ์ƒํƒœ -> Running, Done, Stopped, Terminated, suspended

# ๋ช…๋ น -> sleep 20&

 

 

 

 

 

C) ์ž‘์—… ์ „ํ™˜ ๋ฐ ์ข…๋ฃŒ

 

# Ctrl + z : ํฌ๊ทธ๋ผ์šด๋“œ๋กœ ์‹คํ–‰ ์ค‘์ธ ์žก ์ข…๋ฃŒ

# bg [%์ž‘์—…๋ฒˆํ˜ธ] : ์ง„ํ–‰ ์ค‘์ธ ์ž‘์—…์„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…์œผ๋กœ ๋ฐ”๊ฟˆ

# fg [%์ž‘์—…๋ฒˆํ˜ธ] : ํŠน์ • ์ž‘์—…์„ ํฌ๊ทธ๋ผ์šด๋“œ ์ž‘์—…์œผ๋กœ ๋ฐ”๊ฟˆ

# kill [%์ž‘์—…๋ฒˆํ˜ธ] : ํŠน์ • ์ž‘์—… ์ข…๋ฃŒ

 

 

 

 

 

3.  ์‰˜

 

 

A) ์‰˜๊ณผ ์‰˜ ์ •๋ณด, ์‰˜ ์Šคํฌ๋ฆฝํŠธ

: ์‰˜์€ ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๊ณ , ์‰˜ ์Šคํฌ๋ฆฝํŠธ๋Š” ๋ช…๋ น์–ด์˜ ์ง‘ํ•ฉ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ํ…์ŠคํŠธ ํŒŒ์ผ์ด๋‹ค.

 

 

# ์‰˜ ์Šคํฌ๋ฆฝํŠธ์˜ ์‹คํ–‰๋ฒ•

1) bash ํŒŒ์ผ๋ช…

2) ์‹คํ–‰ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•œ ํ›„ ./ ํŒŒ์ผ๋ช…

 

 

+ ์ฃผ์„์ฒ˜๋ฆฌ๋Š” '#'์œผ๋กœ, ์ฒ˜๋ฆฌํ•  ํ”„๋กœ๊ทธ๋žจ์„ ์ง€์ •ํ•  ๋•Œ์—๋Š” '#!' ์‚ฌ์šฉ

 

 

# ์‰˜ ์ •๋ณด๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด์˜ ์‰˜์„ ํฌํ•จํ•˜๋Š” ํŒŒ์ผ์„ ์˜๋ฏธํ•˜๋ฉฐ, ์‚ฌ์šฉ ํ˜•์‹์€ '/etc/shells' ๋ฅผ ๋”ฐ๋ฅธ๋‹ค.

 

 

 

 

B) ์‰˜ ๋ณ€์ˆ˜

: ์ˆซ์ž๋‚˜ ๋ฌธ์ž์—ด ๋“ฑ์˜ ๊ฐ’์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ณ€์ˆ˜

 

 

a) ์ „์—ญ ๋ณ€์ˆ˜(ํ™˜๊ฒฝ ๋ณ€์ˆ˜) : ๋ณ€์ˆ˜๋ช…์˜ ์•ž์— export ๋ช…๋ น์–ด๋ฅผ ์ฒจ๊ฐ€ํ•ด ์„ ์–ธํ•˜๋ฉฐ, ๋ชจ๋“  ์‰˜์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ํŠน์ง•์ด ์žˆ๋‹ค.

b) ์ง€์—ญ ๋ณ€์ˆ˜ : ์ „์—ญ ๋ณ€์ˆ˜์™€๋Š” ๋‹ฌ๋ฆฌ ๋ชจ๋“  ์‰˜์—์„œ๊ฐ€ ์•„๋‹Œ ํ˜„์žฌ ์‰˜์—์„œ๋งŒ ์“ธ ์ˆ˜ ์žˆ๋Š” ๋ณ€์ˆ˜์ด๋‹ค.

 

 

# " "(ํฐ๋”ฐ์˜ดํ‘œ) : ๊ณต๋ฐฑ ๊ทธ๋Œ€๋กœ ๋ณด์กดํ•˜์—ฌ ์ถœ๋ ฅ

# ' '(์ž‘์€ ๋”ฐ์˜ดํ‘œ) : $์˜ ์“ฐ์ž„์„ ์—†์•ฐ -> ๋”ฐ์˜ดํ‘œ ์† ๊ธ€์ž ๊ทธ๋Œ€๋กœ ๋‚˜ํƒ€๋‚จ

# ' '(์—ญ๋”ฐ์˜ดํ‘œ): ์†Œ๊ด„ํ˜ธ๋ž‘ ์—ญํ•  ๋™์ผ -> ์‹คํ–‰ ๊ฒฐ๊ณผ ๋‚˜ํƒ€๋ƒ„

 

c) ๋งค๊ฐœ๋ณ€์ˆ˜

-$0 : ์‰˜ ์Šคํฌ๋ฆฝํŠธ๋ช…์„ ์˜๋ฏธ

-$1, $2, .... : ๋งค๊ฐœ๋ณ€์ˆ˜์˜ 1, 2 ๋ฅผ ์˜๋ฏธ

-$# : ์ž…๋ ฅ๋œ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์ˆ˜๋ฅผ ์ถœ๋ ฅ

-$* : ์ž…๋ ฅ๋œ ๋งค๊ฐœ๋ณ€์ˆ˜๋“ค์˜ ๋ชฉ๋ก์„ ์ถœ๋ ฅ

 

 

 

 

 

C) ํ‘œ์ค€ ์ž…๋ ฅ๊ณผ ์ž๋™์ž…๋ ฅ ์ฒ˜๋ฆฌ

 

 

a) read ๋ช…๋ น์–ด

: ํ‘œ์ค€ ์ž…๋ ฅ์„ ํ†ตํ•ด ๋ฌธ์ž์—ด์„ ๋ฐ›๋Š” ์‰˜ ๋‚ด์žฅ ๋ช…๋ น์–ด ์ค‘ ํ•˜๋‚˜์ด๋ฉฐ, 'read [ ์˜ต์…˜ ] ๋ณ€์ˆ˜๋ช…'์˜ ํ˜•์‹์„ ์ทจํ•œ๋‹ค.

 

+ '-p' ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ์ž…์ถœ๋ ฅ์„ ํ•œ ํ–‰์—์„œ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

b) ์ž๋™์ž…๋ ฅ ์ฒ˜๋ฆฌ

 

 

- '๋ช…๋ น << TERMINATOR(์ž…๋ ฅ ์ข…๋ฃŒ ๋ฌธ์ž)

           ์ž…๋ ฅ๋‚ด์šฉ

         TERMINATOR'                                        --------> ์™ผ์ชฝ์˜ ํ˜•์‹์„ ๋”ฐ๋ฅธ๋‹ค.

 

 

 

 

 

 

4. case๋ฌธ

 

 

case ๋ณ€์ˆ˜ in

value1)

        ์‹คํ–‰๋ฌธ 1;;

value2)

         ์‹คํ–‰๋ฌธ 2;;

*)

         ์‹คํ–‰๋ฌธ 3;;

esac

 

 

 

 

5. until๋ฌธ

 

until ์กฐ๊ฑด๋ช…๋ น

do

       ์‹คํ–‰๋ฌธ 1

done

 

 

 

 

 

6. ํ•จ์ˆ˜

 

function ํ•จ์ˆ˜๋ช…

{

     ๋ช…๋ น๋“ค

}

 

 

 

 

 

 

 

 

 

< ๋ >