[Linux] ํ๋ก์ธ์ค / cron
๐ง ํ๋ก์ธ์ค
-
CPU์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น ๋ฐ์ ์คํ์ํค๋ ํ๋ก๊ทธ๋จ
-
ํ๋ก์ธ์ค๋ค๋ง๋ค ๊ณ ์ ์ ํ๋ก์ธ์คID (PID)๋ฅผ ํ ๋น๋ฐ์
-
init
-
๊ฐ์ฅ ๋จผ์ ์คํ๋๋ ํ๋ก์ธ์ค
-
init์ PID = 1
-
init์ ์ํด ๋ค๋ฅธ ๋ชจ๋ ํ๋ก์ธ์ค๋ค์ด ์์๋จ
-
๐ง ํ๋ก์ธ์ค ์ ํ
โถ ์คํ ํํ์ ๋ฐ๋ผ ํฌ์ด๊ทธ๋ผ์ด๋(foreground) ํ๋ก์ธ์ค์ ๋ฐฑ๊ทธ๋ผ์ด๋(background) ํ๋ก์ธ์ค๋ก ๋๋จ
-
ํฌ์ด๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค(Foreground)
-
์ฌ์ฉ์์ ์ํธ์์ฉํ๋ ํ๋ก์ธ์ค
-
ํฐ๋ฏธ๋์ ์ง์ ์ฐ๊ฒฐ๋์ด ์ ์ถ๋ ฅ์ ์ฃผ๊ณ ๋ฐ์
-
๋ช ๋ น ์ ๋ ฅ ํ ์ํ ์ข ๋ฃ๊น์ง ๊ธฐ๋ค๋ ค์ผ ํจ
-
ํ๋ฉด์์ ์คํ๋๋ ๊ฒ์ด ๋ณด์
-
ex) ์์ฉํ๋ก๊ทธ๋จ, ๋ช ๋ น์ด ๋ฑ
-
-
๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค(Background)
-
์ฌ์ฉ์์ ์ ๋ ฅ์ ๊ด๊ณ์์ด ๋ค์์ ์คํ๋๋ ํ๋ก์ธ์ค
-
์คํ์ ๋์ง๋ง ํ๋ฉด์ ๋ํ๋์ง ์๊ณ ์คํ๋๋ ํ๋ก์ธ์ค
-
ex) ์์คํ ํ๋ก๊ทธ๋จ, ๋ฐ๋ชฌ ๋ฑ
-
โถ ์ฌ์ฉ์๊ฐ ์๋ก์ด ํ๋ก์ธ์ค๋ฅผ ์์ฑํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์์คํ ํธ์ถ ํจ์
-
fork()
-
์๋ก์ด ํ๋ก์ธ์ค๋ฅผ ๋ง๋ค ๋ ๊ธฐ์กด ํ๋ก์ธ์ค๋ฅผ ๋ณต์ ํ๋ ๋ฐฉ์์ ์ฌ์ฉ
-
์๋ก์ด ํ๋ก์ธ์ค๋ฅผ ์ํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น
-
์๋ก ์์ฑ๋ ์์ ํ๋ก์ธ์ค์ ์๋ณธ ํ๋ก์ธ์ค์ธ ๋ถ๋ชจ ํ๋ก์ธ์ค๋ ๋๊ฐ์ ์ฝ๋๋ฅผ ๊ฐ์ง๊ณ ์์
-
-
exec()
-
ํธ์ถํ๋ ํ๋ก์ธ์ค๊ฐ ์๋ก์ด ํ๋ก์ธ์ค๋ก ๋ณ๊ฒฝ๋๋ ๋ฐฉ์
-
์๋ก์ด ํ๋ก์ธ์ค๋ฅผ ์ํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ์ง ์์
-
ํธ์ถํ ํ๋ก์ธ์ค์ ๋ฉ๋ชจ๋ฆฌ์ ์๋ก์ด ํ๋ก์ธ์ค์ ์ฝ๋๋ฅผ ๋ฎ์ด์์
-
exec()์ ์ํด ํธ์ถ๋ ํ๋ก์ธ์ค๋ง ๋ฉ๋ชจ๋ฆฌ์ ๋จ๊ฒ ๋จ
-
-
๋ฐ๋ชฌ(Daemon)
-
๋ฆฌ๋ ์ค ์์คํ ๋ถํ ์ ์๋์ผ๋ก ์คํ๋๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค
-
๋ฉ๋ชจ๋ฆฌ์ ์์ฃผํ๋ฉด์ ์ฌ์ฉ์์ ํน์ ์์ฒญ์ด ์ค๋ฉด ์ฆ์ ์คํ๋๋ ๋๊ธฐ ์ค์ธ ์๋ฒ ํ๋ก์ธ์ค
-
์ฃผ๊ธฐ์ ์ด๊ณ ์ง์์ ์ธ ์๋น์ค ์์ฒญ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์คํ
-
์ฌ์ฉ์๋ค์๊ฒ ์ด ํ๋ก์ธ์ค๋ฅผ ๋ณผ ์ ์๋ ๊ถํ์ ์์
-
๋ฆฌ๋ ์ค์์ ๋ฐ๋ชฌ์ ์คํํ๋ ๋ฐฉ๋ฒ
-
standalone ๋ฐ๋ชฌ
-
์์ฒญ์ด ๋ค์ด์ค๊ธฐ ์ ์ ์๋น์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์์ฃผํ๋ ๋จ๋ ์คํ ๋ฐฉ์
-
๋ ๋ฆฝ์ ์ผ๋ก ์ํ
-
ํญ์ ๋ฉ๋ชจ๋ฆฌ์ ์์ฃผ
-
๋น ๋ฅธ ์๋ต์๋๋ฅผ ์ํ๋ ๊ฒฝ์ฐ
-
๋ฉ๋ชจ๋ฆฌ ์ ์ ๋ก ์ธํ ์๋ฒ ๋ถํ๊ฐ ํผ
-
-
inetd ๋ฐ๋ชฌ(์ํผ ๋ฐ๋ชฌ)
-
inetd๋ ๋ค๋ฅธ ๋ฐ๋ชฌ๋ค์ ์์์ ์กด์ฌํ๋ standalone๋ฐ๋ชฌ
-
์์ฒด์ ์ผ๋ก๋ ํ๋์ ๋ ๋ฆฝ ๋ฐ๋ชฌ์ด์ง๋ง ์ฌ๋ฌ ๊ฐ์ง ๋ค๋ฅธ ์๋น์ค๋ค์ ์ ์ดํ๊ณ ๊ด๋ฆฌ
-
-
inetd ํ์ ๋ฐ๋ชฌ
-
inetd ๋ฐ๋ชฌ์ด ํ์ฑํ ๋์ด์ผ๋ง inetd ํ์ ๋ฐ๋ชฌ์ด ์๋น์ค ์ ๊ณต
-
inetd ์๋น์ค ์์ฒญ์ด ์ข ๋ฃ๋๋ฉด inetd ํ์ ๋ฐ๋ชฌ๋ค๋ ์๋์ผ๋ก ์ข ๋ฃ๋จ
-
ex) Telnet, FTP
-
-
-
-
์๊ทธ๋(Signal)
-
ํ๋ก์ธ์ค์๊ฒ ์ด๋ฒคํธ ๋ฐ์์ ์ ๋ฌํด์ฃผ๋ ์ํํธ์จ์ด ์ธํฐ๋ฝํธ
-
kill -l : ์๊ทธ๋ ๋ฆฌ์คํธ ํ์ธ ๋ช ๋ น์ด
-
์ง์ ๋ ์ด๋ฒคํธ์ ์๊ทธ๋์ด ํ๋ก์ธ์ค์ ์ ๋ฌ๋ ๋ ๋ฐ์ํ๋ ๊ธฐ๋ณธ ๋์
๋ฒํธ ์๊ทธ๋ ๋ฐ์์กฐ๊ฑด ๊ธฐ๋ณธ๋์ 1 SIGHUP ํฐ๋ฏธ๋๊ณผ ์ฐ๊ฒฐ์ด ๋์ด์ง ์ข ๋ฃ ํ ์ฌ์์ 2 SIGINT ctrl + c ์ ๋ ฅ ์ข ๋ฃ 3 SIGQUIT ctrl + / ์ ๋ ฅ ์ฝ์ด๋คํ 9 SIGKILL ํ๋ก์ธ์ค ๊ฐ์ ์ข ๋ฃ ์ข ๋ฃ 15 SIGTERM Kill ์์คํ ํธ์ถ ์ข ๋ฃ 20 SIGTSTP ctrl + z ์ ๋ ฅ ํ๋ก์ธ์ค ๋๊ธฐ๋ก ์ ํ
-
๐ง ํ๋ก์ธ์ค ๊ด๋ จ ๋ช ๋ น์ด
-
ps
-
process status
-
ํ์ฌ ์คํ ์ค์ธ ํ๋ก์ธ์ค์ ์ํ๋ฅผ ๋ณด์ฌ์ฃผ๋ ๋ช ๋ น์ด
-
CPU ์ฌ์ฉ๋๊ฐ ๋ฎ์ ์์๋๋ก ์ถ๋ ฅ
-
์ต์ ์์ด ์คํํ ๊ฒฝ์ฐ ์์ ์ ํฐ๋ฏธ๋์์ ์คํ๋๊ณ ์๋ ํ๋ก์ธ์ค๋ค์ ๊ด๋ จ ์ ๋ณด๋ง ์ถ๋ ฅ
-
์ข๋น ํ๋ก์ธ์ค : ์ด๋ฏธ ํ์ฌ ํ๋ก์ธ์ค์ ๋ํ ๋ชจ๋ ์ ๋ณด๊ฐ ๋ฉ๋ชจ๋ฆฌ์์ ์ฌ๋ผ์ก์์๋ ๋ถ๋ชจ ํ๋ก์ธ์ค๊ฐ ์ ์์ ์ธ ์ข ๋ฃ ์ฒ๋ฆฌ๋ฅผ ํ์ง ๋ชปํด ๋ฐ์ -> kill ์๊ทธ๋์ ๋ฐ์๋ ์ข ๋ฃ๋์ง ์์
-
nice ๊ฐ์ผ๋ก ํ๋ก์ธ์ค์ ์คํ ์ฐ์ ์์๋ฅผ ์ค์
-
-
pstree
-
์คํ ์ค์ธ ํ๋ก์ธ์ค๋ค์ ํธ๋ฆฌ ๊ตฌ์กฐ๋ก ๋ณด์ฌ์ฃผ๋ ๋ช ๋ น์ด
-
์ต์
-
-p : PID ์ถ๋ ฅ
-
-n : PID๋ฅผ ์ ๋ ฌํด ์ถ๋ ฅ
-
-
-
jobs
-
์์ ์ ์ํ(์์ ์ค์ง, ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์งํ ์ค, ๋ณ๊ฒฝ๋์์ง๋ง ๋ณด๊ณ ๋์ง ์์ ์ํ ๋ฑ)๋ฅผ ํ์ํ๋ ๋ช ๋ น์ด
-
[์ซ์]๋ ์์ ๋ฒํธ๋ฅผ ์๋ฏธ
-
+๋ ํ์ฌ ์์ ์คํ, -๋ ์์ผ๋ก ์คํ๋ ์์ (๋๊ธฐ ์ํ)์ ์๋ฏธ
-
์์ ์ ์ํ๊ฐ
-
Running : ์์ ์งํ ์ค
-
Stopped : ์์ ์ผ์ ์ค๋จ
-
Done : ์์ ์๋ฃ, 0 ๋ฐํ ํ ์ข ๋ฃ
-
Done(code) : ์์ ์๋ฃ, 0์ด ์๋ ์ฝ๋ ๋ฐํ
-
-
-
bg
-
bg %์์ ๋ฒํธ or bg ์์ ๋ฒํธ
-
ํฌ์ด๊ทธ๋ผ์ด๋(foreground) -> ๋ฐฑ๊ทธ๋ผ์ด๋(background)๋ก์ ์ ํ
-
์์ ์ ์ ์งํ ์ํ๋ก ๋ค๋ฅธ ์์ ์ ์คํํ๊ณ ์ถ์ ๊ฒฝ์ฐ ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์ ํํด ์์ ์งํ
-
๋จผ์ ์คํ ์ค์ธ ์์ ์ ์ผ์ ์ค์ง์ํจ ํ ctrl+z, bg ๋ช ๋ น ์ํ
- ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์คํํ๊ณ ์ ํ ๋ ๋ช ๋ น์ด ๋ค์ &๋ฅผ ๋ถ์ฌ์ค
-
-
fg
-
fg %์์ ๋ฒํธ or fg ์์ ๋ฒํธ
-
๋ฐฑ๊ทธ๋ผ์ด๋(background) -> ํฌ์ด๊ทธ๋ผ์ด๋(foreground)๋ก์ ์ ํ
-
์์ ๋ฒํธ๋ฅผ ๋ถ์ฌํ์ง ์์ผ๋ฉด ํ์ฌ ์ํ ์ค์ธ ์์ ์ ํฌ์ด๊ทธ๋ผ์ด๋๋ก ์ ํ
- ํฌ์ด๊ทธ๋ผ์ด๋ ์์ ์ ์ข ๋ฃํ๋ ค๋ฉด ctrl + c
-
-
kill
-
ํ๋ก์ธ์ค ์ข ๋ฃ
-
kill [์ต์ ] [์๊ทธ๋๋ฒํธ or ์๊ทธ๋์ด๋ฆ] [PID or %์์ ๋ฒํธ]
-
์ต์
-
-1 : -HUP, ํ๋ก์ธ์ค ์ฌ์์
-
-9 : ํ๋ก์ธ์ค ๊ฐ์ ์ข ๋ฃ
-
-
-
killall
-
๊ฐ์ ๋ฐ๋ชฌ์ ์ฌ๋ฌ ํ๋ก์ธ์ค๋ฅผ ํ ๋ฒ์ ์ข ๋ฃ
-
ํ๋ก์ธ์ค๋ช ์ผ๋ก ์ฐ๊ด๋ ํ๋ก์ธ์ค๋ค ์ข ๋ฃ
-
-
nice
-
ํ๋ก์ธ์ค ์ฌ์ด์ ์ฐ์ ์์๋ฅผ ํ์ธํ๊ณ ๋ณ๊ฒฝํ ์ ์๋ ๋ช ๋ น์ด
-
ํ๋ก์ธ์ค์ ์คํ ์ฐ์ ์์๊ฐ ๋๋ค = ์คํ ์ฐ์ ์์๊ฐ ๋ฎ์ ํ๋ก์ธ์ค๋ณด๋ค ๋ ๋ง์ ์์คํ ์์์ ํ ๋นํ๋ค = ์คํ์๋๊ฐ ๋นจ๋ผ์ง๋ค
-
NI ๊ฐ์ ์กฐ์ ํด ํ๋ก์ธ์ค์ ์ฐ์ ์์ ๋ณ๊ฒฝ
-
NI ๊ฐ์ ๋ฒ์ : -20(๊ฐ์ฅ ๋์ ์ฐ์ ๊ถ) ~ 19(๊ฐ์ฅ ๋ฎ์ ์ฐ์ ๊ถ)
-
์ผ๋ฐ ์ฌ์ฉ์๋ nice ๊ฐ์ ์ฆ๊ฐ์ํฌ ์๋ฐ์ ์์ผ๋ฉฐ, root๋ nice ๊ฐ์ ๊ฐ์์ํฌ ์ ์์
-
์์๊ฐ์ โ-โ, ์์๊ฐ์ โโโ๋ฅผ ์ฌ์ฉ
-
-
renice
-
์ด๋ฏธ ์คํ ์ค์ธ ํ๋ก์ธ์ค์ ์ฐ์ ์์ ๋ณ๊ฒฝ
-
ํ๋ก์ธ์ค ์์ ์์ ๋ฃจํธ ๊ถํ์๋ง ๋ช ๋ น์ด ์ฌ์ฉ ๊ฐ๋ฅ
-
nice๋ ๊ธฐ์กด NI ๊ฐ ์ฆ๊ฐ, renice๋ ์ง์ ํ NI ๊ฐ ์ค์
-
-
top
- ๋ฆฌ๋ ์ค ์์คํ ์ ์ด์ ์ํ๋ฅผ ์ค์๊ฐ์ผ๋ก ๋ชจ๋ํฐ๋งํ๊ฑฐ๋ ํ๋ก์ธ์ค ์ํ๋ฅผ ํ์ธํ ์ ์๋ ๋ช ๋ น์ด
-
nohup
-
ํ๋ก์ธ์ค๊ฐ ์ค๋จ๋์ง ์๊ณ ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์์ ์ ์ํํ ์ ์๊ฒ ํจ
-
์ฌ์ฉ์๊ฐ ๋ก๊ทธ์์ํ๊ฑฐ๋ ์์ ์ค์ธ ํฐ๋ฏธ๋ ์ฐฝ์ด ๋ซํ๋ ์คํ ์ค์ธ ํ๋ก์ธ์ค๋ฅผ ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค๋ก ๊ณ์ ์์ ํ ์ ์๊ฒ ํจ
-
๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์คํ ๊ฐ๋ฅํ๋๋ก ๋ช ๋ นํ ๋ค์ &๋ฅผ ๋ช ์
-
-
tail
-
ํ์ผ์ ๋ง์ง๋ง ํ์ ๊ธฐ์ค์ผ๋ก ์ง์ ํ ํ๊น์ง ํ์ผ ๋ด์ฉ์ ์ผ๋ถ๋ฅผ ์ถ๋ ฅ
-
๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋ง์ง๋ง 1์ค์ ์ถ๋ ฅ
-
๐ง ์ค์ผ์ค๋ง & cron
-
์ฃผ๊ธฐ์ ์ผ๋ก ๋ฐ๋ณต๋๋ ์ผ์ ์๋์ ์ผ๋ก ์คํ๋ ์ ์๋๋ก ์ค์
-
crond : ์ค์ผ์ค๋ง ๋ฐ๋ชฌ(์๋น์ค)
-
/etc/crontab : ์ค์ผ์ค๋ง ๊ด๋ จ ํ์ผ
-
crontab : ์ฃผ๊ธฐ์ ์ธ ์์ ์ ๋ฑ๋กํ๋ ๋ช ๋ น์ด
crontab [์ต์ ] ํ์ผ๋ช
-
๋ถ ์ ๋ ๋ฌ ์์ผ ๋ช ๋ น์ด
-
์์ผ : ์=1 ํ=2 ์=3 โฆ ์ผ=7or0
-
*
: ๋งค๋ถ or ๋งค์๊ฐ or ๋งค์ผ or ๋งค๋ฌ or ์~์ผ์์ผ ๋งค์ผ ์คํ -
ex) ๋งค์ 24์ผ 12์ ์ ๊ฐ์ /bin/linux.sh ์คํฌ๋ฆฝํธ ์คํ => 0 12 24 * * /bin/linux.sh
-