Prev Next
 

 

3. Processes

´ÙÁßÀÛ¾÷À» À§ÇÑ ±âº»ÀûÀÎ ´ÜÀ§°¡ processÀÌ´Ù. ±× Process¿¡ ´ëÇÑ ³»¿ëÀ» ÀÌÇØÇÏ°í ´Ù·ç´Â °Íµµ °ü¸®ÀÚÀÇ ¸òÀÌ´Ù. ±×¿¡ ´ëÇÑ Àü¹ÝÀûÀÎ ÀÌÇظ¦ À§ÇÑ ³»¿ëÀ» ´Ù·ç°íÀÚ ÇÑ´Ù.

¶ÇÇÑ, À¯´Ð½º ½Ã½ºÅÛ¿¡¼­ deamon¿¡ °ü°èµÈ ¹ø¹øÈ÷ ¼öÁ¤µÇ´Â ȯ°æ¼³Á¤¸¶´Ù PC¿ë ¿î¿µÃ¼Á¦Ã³·³ ÀçºÎÆà À̶ó´Â ¹ø°Å·Î¿î ÀýÂ÷¸¦ °ÅÃľßÇÏ´Â °ÍÀº ¾Æ´Ï´Ù. ÇØ´ç deamonÀÇ process¸¦ Á¦¾îÇϸ鼭 ÇØ´ç deamon¸¸À» Àç½ÃÀÛ ÇÒ ¼ö Àֱ⶧¹®ÀÌ´Ù.

3.1 Processes Control

ProcessÀÇ Á¦¾î¿¡´Â ProcessÀÇ »óŸ¦ ¾Ë°í ProcessÀÇ »óŸ¦ º¯°æÇϴ¹æ¹ý¿¡ °üÇÑ ³»¿ëÀÖ´Ù.

3.1.1 Components of a Process

process´Â ´Ù¾çÇÑ Á¤º¸¸¦ °¡Áö°í ÀÖÁö¸¸ processÀÇ °ü¸®Àû Ãø¸é¿¡¼­´Â ¾Æ·¡ÀÇ °ªµéÀÌ ÁÖ¿äÇÏ°Ô ÀÌ¿ëµÈ´Ù.

PID : processÀÇ ½Äº°¹øÈ£, ÀÌ °ªÀ» ÀÌ¿ëÇØ Á¦¾îÇÒ ¼ö ÀÖ´Ù.
PPID : ÇØ´ç process°¡ »ý¼º½ÃŲ parentÀÇ PID°ª.
UID & EUID : process¸¦ »ý¼º½ÃŲ userÀÇ UID & EUID°ª. ÇØ´ç process°¡ Á¢±Ù ±ÇÇÑ¿¡ °üÇÑ °ªÀÌ´Ù. GID & EGID : process¸¦ »ý¼º½ÃŲ userÀÇ GID & EGID°ª. ÇØ´ç process°¡ Á¢±Ù ±ÇÇÑ¿¡ °üÇÑ °ªÀÌ´Ù.

3.1.2 Process States

process´Â ¾Æ·¡¿Í °°Àº »óŵéÀ» °¡Áú ¼ö ÀÖ´Ù.

Runnable : ½ÇÇà°¡´ÉÇÑ »óÅÂ
Sleeping : ¿äûÇÑ ÀÚ¿øÀ» ±â´Ù¸®´Â ´ë±â »óÅÂ
Swapped : ÁÖ±â¾ïÀåÄ¡¿¡ ÀúÀåµÇ¾îÀÖÁö ¾ÊÀº »óÅÂ
Zombie : ½ÇÇà°¡´ÉÇÑ »óÅÂ
Stopped : Á¤ÁöµÇ¾îÀÖ´Â ´ë±â »óÅÂ(½ÇÇà°¡´ÉÇÏÁö ¾ÊÀ½)

3.1.3 kill: Send Signals

process¿¡ signalÀ» º¸³»±â À§ÇØ »ç¿ëµÇ¾îÁö´Â ¸í·É ¿©·¯°¡Áö signalµéÀÌ Á¸ÀçÇÏÁö¸¸, ÁÖ·Î »ç¿ëµÇ¾îÁö´Â signalÀº ºÒ°ú ¸î°³ µÇÁö¾Ê´Â´Ù. ¿©·¯ ´Ù¸¥ ½Ã½ºÅÛ¿¡¼­ »ç¿ëµÇ´Â signalÀÇ ID´Â ´Ù¸£´Ù.

1 HUP : Hangup
2 INT : Interrupt
3 QUIT : Quit
9 KILL : Kill
15 TERM : Software Termination
kill [-signal] pid
ÀϹÝÀûÀ¸·Î´Â Á¢±ÙÀÌ ¾ÈµÇ´Â processÀ» ½Ã½ºÅÛ¿¡¼­ Á¦°ÅÇϱâ À§ÇØ »ç¿ëµÇ¾îÁö±â ¶§¹®¿¡ 9¹øÀ» »ç¿ëÇÑ´Ù.
¿¹Á¦ : # kill -9 236

3.1.4 ps: Monitor Processes

ps´Â processÀÇ »óŸ¦ º¸¿©ÁØ´Ù. kill ¸í·É°ú °°ÀÌ ¾²ÀÌ´Â °æ¿ì°¡ ¸¹´Ù. optionÀº ´ÙÀ½°ú °°´Ù.
»ç¿ë¹ý: ps [ -aAdeflcj ] [ -o format ] [ -t termlist ]
[ -u userlist ] [ -U userlist ] [ -G grouplist ]
[ -p proclist ] [ -g pgrplist ] [ -s sidlist ]

user ruser group rgroup uid ruid gid rgid pid ppid pgid sid pri opri pcpu pmem vsz rss osz nice class time etime stime f s c tty addr wchan fname comm args

ÀÚ¼¼ÇÑ optionÀÇ ¼³¸íÀº man page¸¦ ÂüÁ¶Çϱ⠹ٶõ´Ù.
ÀϹÝÀûÀ¸·Î ¾²ÀÌ´Â optionÀº -efÀÌ´Ù. ÀÌÀ¯´Â ÀϹÝÀûÀ¸·Î ¸¹ÀÌ »ç¿ëµÉ ¼ö ÀÖ´Â ³»¿ëÀ» È®ÀÎÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù.

¿¹Á¦ :
# ps -ef

UID PID PPID C STIME TTY TIME CMD
root 0 0 0 10¿ù 01 ? 0:00 sched
root 1 0 0 10¿ù 01 ? 0:01 /etc/init -
root 2 0 0 10¿ù 01 ? 0:00 pageout
root 3 0 1 10¿ù 01 ? 6:15 fsflush
root 122 1 0 10¿ù 01 ? 0:02 /usr/sbin/inetd -s
root 262 1 0 10¿ù 01 ? 0:00 /usr/lib/saf/sac -t 300
root 105 1 0 10¿ù 01 ? 0:00 /usr/sbin/rpcbind
root 216 1 0 10¿ù 01 ? 0:01 /usr/sbin/vold
root 107 1 0 10¿ù 01 ? 0:00 /usr/sbin/keyserv
root 113 1 0 10¿ù 01 ? 0:00 /usr/sbin/kerbd
root 125 1 0 10¿ù 01 ? 0:00 /usr/lib/nfs/statd
root 127 1 0 10¿ù 01 ? 0:00 /usr/lib/nfs/lockd
root 146 1 0 10¿ù 01 ? 0:00 /usr/lib/autofs/automountd
root 166 1 0 10¿ù 01 ? 0:03 /usr/sbin/nscd
root 160 1 0 10¿ù 01 ? 0:00 /usr/sbin/cron
root 176 1 0 10¿ù 01 ? 0:00 /usr/lib/lpsched
root 182 176 0 10¿ù 01 ? 0:00 lpNet
root 192 1 0 10¿ù 01 ? 0:00 /usr/lib/sendmail -bd -q1h
root 207 1 0 10¿ù 01 ? 0:00 /opt/hpnp/bin/hpnpd
root 202 1 0 10¿ù 01 ? 0:00 /usr/lib/utmpd

3.1.5 nohup: Protect Background Processes

°íÀüÀûÀÎ shellÀÎ sh¿¡¼­ background 󸮸¦ º¸È£ÇÒ ¼ö ¾ø´Ù. ±× ÀÌÀ¯´Â ÀÚ½ÅÀÌ ½Ã½ºÅÛ¿¡¼­ Á¦°ÅµÉ ¶§ child process¿¡ hangup signalÀ» º¸³»±â ¶§¹®ÀÌ´Ù.

ÇÑ°¡Áö ¹æ¹ýÀº nohupÀ» ½á¼­ hangup signalÀÎ SIGHUPÀ» ¹ÞÁö ¾Ê´Â°ÍÀÌ´Ù. ±×·¸±â ¶§¹®¿¡ º¸È£µÇ¾î¾ßÇÒ background process¸¦ ¼öÇàÇÒ ¶§ ´ÙÀ½°ú °°Àº Çü½ÄÀ¸·Î »ç¿ëÇÏ°Ô µÈ´Ù.

# nohup command & ÇÏÁö¸¸ ¿äÁò »ç¿ëµÇ´Â Áøº¸µÈ shellµéÀº nohupÀ» »ç¿ëÇÒ ÇÊ¿ä°¡ ¾ø´Ù.

3.2 Periodic Processes

cron: Schedule Commands

cronÀ̶ó°í ºÒ¸®´Â ÁÖ±âÀû ½ÇÇàÀ» µµ¿ÍÁÖ´Â ÇÁ·Î±×·¥ÀÌ ÀÖ´Ù. ÀÌ ÇÁ·Î±×·¥Àº ÁÖ±âÀûÀ¸·Î ¾î¶² ÇÁ·Î±×·¥À» ¼öÇàÇϵµ·Ï Çϴµ¥ »ç¿ëµÇ´Â shellÀº shÀÌ´Ù. cronÀÇ ÁÖ±âÀû ½ÇÇàÀÇ Æ÷¸ËÀº ´ÙÀ½ Àý¿¡ ¼³¸íÇÑ´Ù. crontabÀ̶ó´Â ÆÄÀÏ¿¡ ½ÇÇàµÉ ÁÖ±â¿Í ¸í·ÉÀ» Á¤ÀÇÇÑ´Ù.

ÆÄÀÏÀÇ Çü½ÄÀº ´ÙÀ½°ú °°´Ù.

minute hour day month weekday username command
minute : ºÐ´ÜÀ§ÀÇ °ª (0-59)
hour : ½Ã°£´ÜÀ§ÀÇ °ª (0-23)
day : ³¯Â¥ °ª (1-31) month : ´Þ °ª (1-12)
weekday : ¿äÀÏ °ª (0-6)

0:Su,1:Monday,2:Tu,3:W,4:Th,5:F,6=Sa

Ç×»ó ÀÏÄ¡µÇ´Â °ªÀº '*'·Î Ç¥½ÃÇÑ´Ù.

ÀÏ¹Ý »ç¿ëÀÚ´Â crontabÀ̶ó´Â ¸í·ÉÀ¸·Î ÀÚ½ÅÀÇ ÁÖ±âÀû ½ÇÇàÀ» ÇÒ ¼ö ÀÖ°í ½ÇÇàµÇ°í ÀÖ´Â cronÀÇ ³»¿ëÀº 'crontab -l'À» ÀÌ¿ëÇØ È®ÀÎÇÒ ¼ö ÀÖÀ¸¸ç 'crontab -r'À» ÀÌ¿ëÇØ ¼öÇàÇÏ°í ÀÖ´ø ÁÖ±âÀû ½ÇÇàÀ» Á¦°ÅÇÒ ¼ö ÀÖ´Ù.

ÀϹÝÀûÀ¸·Î ÁÖ±âÀû ½ÇÇàÀ» ÇÏ°Ô µÇ´Â °æ¿ì´Â ³¯Â¥³ª ½Ã°£¿¡ ´ëÇÑ Á¤º¸¸¦ ÁÖ±âÀûÀ¸·Î ³ªÅ¸³»±â À§ÇØ »ç¿ëµÇ¾îÁö°í ¶Ç, ½Ã½ºÅÛÀÇ °ü¸®¸¦ À§Çؼ­ File systemÀ» ÁÖ±âÀûÀ¸·Î Á¡°ËÇÏ¿© ÇÊ¿ä¾ø´Â ¾²·¹±â ÆÄÀÏ µîÀ» Á¦°ÅÇÏ´Â ¸ñÀûÀ¸·Îµµ »ç¿ëµÈ´Ù.

À§ÀÇ ¿¹¸¦ ½ÇÁ¦ crontabÀÇ ³»¿ëÀ¸·Î Ç¥ÇöÀ» Çغ¸ÀÚ¸é ´ÙÀ½°ú °°´Ù.

¿¹Á¦ :

10 1 * * * find / -xdev -name core -atime +7 -exec rm -f {} ';'

// ¸ÅÀÏ 1½Ã 10ºÐÀÌ µÇ¸é coreÆÄÀÏÀ» ã¾Æ Áö¿ì´Â ¸í·ÉÀÌ´Ù.

Solaris´Â Crontab ÆÄÀÏÀÌ /var/spool/cron/crontabs¿¡ À§Ä¡ÇÏ°Ô µÇ°í cronÀÇ »ç¿ëÇã°¡±Ç¿¡ ´ëÇÑ cron.allow¿Í cron.deny¿¡ °üÇÑ °ÍÀº /etc/cron.d¿¡ À§Ä¡ÇØ ÀÖ´Ù. cronÀÇ log¸¦ ¸¸µé·Á¸é /etc/default/cron¿¡ ÀÖ´Â CRONLOG=YES;¶ó´Â Ç׸ñÀ» uncommentÇÏ¸é µÇ°í ÀÌ log´Â /var/cron/log¿¡ »ý±â°Ô µÈ´Ù.


3.3 Daemon

DaemonÀ̶õ background·Î µ¿ÀÛÇÏ°í ÀÖ´Â ½Ã½ºÅÛ processÀÌ´Ù. Á¢±ÙÇÏ´Â »ç¿ëÀÚ¿¡°Ô ¼­ºñ½º¸¦ Á¦°øÇϱâ À§ÇÑ °ÍÀÌ´Ù. °£´ÜÇÏ°Ô Ç¥ÇöÇÏÀÚ¸é ½Ã½ºÅÛ¿¡ ¼­ºñ½º¸¦ ÀÌ¿ëÇϱâ À§ÇØ µé¾î¿À´Â ¹®À̶ó°í ÇÏ°Ú´Ù. DaemonÀ» °¡Àå ½±°Ô °£ ´ÜÇÏ°Ô Ç¥ÇöÇÑ´Ù¸é '´ë¹®'À̶ó´Â ¸»·Îµµ °¡´ÉÇÏ°Ú´Ù.

ÀÌ Daemon¿¡ ´ëÇØ °£´ÜÈ÷ ¾ð±Þ Çϵµ·ÏÇÏ°Ú´Ù. ´ëºÎºÐÀÌ °¢ Àå¿¡¼­ ¾ð±ÞµÇ°í ¼³¸íÀÌ ºÙÀ» °ÍÀÌ´Ù.

Various Daemons : À¯´Ð½º ½Ã½ºÅÛ¿¡´Â ¸Å¿ì ´Ù¾çÇÑ DaemonÀÌ ÀÖ´Ù. ±×¸¸Å­ ´Ù¾çÇÑ ¼­ºñ½º¸¦ Á¦°øÇÑ´Ù´Â °ÍÀÌ´Ù.

Essential Daemons : init, cron, inetd init: ½Ã½ºÅÛ ºÎÆýà °¡Àå ¸ÕÀú ½Ã½ºÅÛ¿¡¼­ ¼öÇàµÇ´Â DaemonÀÌ´Ù. ¸ðµç process°¡ init·Î ºÎÅÍ »ý¼ºµÈ´Ù.

cron: 3.2¿¡¼­ ¼³¸íÇÑ °ÍÀÌ´Ù. ÁÖ±âÀû ¼öÇàÀ» À§ÇÑ DaemonÀÌ´Ù.

inetd: DaemonµéÀ» °ü¸®ÇÏ´Â DaemonÀÌ´Ù. clientÀÇ ¿äûÀ» ¹Þ¾Æ ÀÛ¾÷À» Çã°¡ÇÏ°í Á¦¾îÇÏ´Â ¿ªÇÒÀ» ÇÑ´Ù. inetdÀÇ ¼³Á¤Àº /etc/inet/inetd.conf¿¡¼­ ÇϰԵǰí Æ÷Æ®ÀÇ Á¤Àdzª ¼³Á¤Àº /etc/services ÆÄÀÏ¿¡ Á¤ÀǵǾî ÀÖ´Â ³»¿ëÀ» »ç¿ëÇÑ´Ù. ¼­ºñ½ºÀÇ Ãß°¡¹× ¼³Á¤À» /etc/service ¿¡¼­ ÇÏ°Ô µÈ´Ù´Â ¶æÀÌ´Ù.

NFS Daemons : nfsd, rpc.mountd, rpc.lockd, rpc.statd, biod

nfsd: NFS clientµéÀÌ Á¢±Ù ÇÒ ¼ö ÀÖ°Ô µµ¿ÍÁÖ´Â DaemonÀÌ´Ù. ´Ü¼øÈ÷ ¿äûÀ» ¹Þ¾Æ kernel·Î ³Ñ°ÜÁÖ´Â ¿ªÇÒÀ» ÇÑ´Ù.

rpc.mountd : mount¿äûÀ» ¹Þ¾ÒÀ» ¶§ ÀÀ´äÀ» Çϱâ À§ÇÑ DaemonÀÌ°í mount °¡´É ¿©ºÎ´Â /etc/exports¿¡¼­ Á¤ÀÇµÈ ºÎºÐ¿¡ µû¸¥´Ù.

rpc.lockd & rpc.statd : lockd ´Â Á¢±ÙÀ» Á¦ÇÑÇÏ°í statd´Â Á¢±ÙÀ» Çã¿ëÇϱâ À§ÇØ Á¸ÀçÇÑ´Ù.

NIS Daemons : ypbind, ypserv, ypxfrd, rpc.nisd ypbind: NIS client ¿Í server¿¡ µ¿½Ã¿¡ Á¸ÀçÇÏ°í ÀÚüÀûÀ¸·Î ¾î¶² ¿äûÀ» ¹Þ¾ÆµéÀÌÁö´Â ¾Ê´Â´Ù.

ypserv: NIS server¿¡¼­ µ¿À۵ǰí clientµé¿¡°Ô BroadcastingÇϸ鼭 ¼­¹öÀÇ À§Ä¡¸¦ ¾Ë¸°´Ù. clientµéÀÇ ¿äûÀ» ¹Þ¾Æ ÀÀ´äÇÏ°í ó¸®ÇÑ´Ù.

ypxfrd: NIS server database ÀÇ ³»¿ëÀ» sub server¿¡°Ô º¹»çÇØ ÁÖ±âÀ§ÇÑ DaemonÀÌ´Ù. client ÀÎ sub server°¡ ypxfrÀ̶ó´Â ¸í·ÉÀ» »ç¿ëÇÏ¿© Daemon¿¡ ¿äûÇÑ´Ù.

rpc.nids : NIS+ server Daemon

´ÙÀ½ page¿¡¼­´Â Internet°ú °ü°èµÈ Daemonµé°ú Diskless ClientµéÀ» À§ÇÑ Daemonµé¿¡ ´ëÇØ ¾ð±ÞÇÏ°Ú´Ù.

Internet Daemons : comsat, talkd, rwhod, ftpd, popper, rlogind, telnetd, rshd, rexecd, rpc.rexd, timed, xntpd, routed, gated, named, nntpd, innd, syslogd, fingerd, httpd

Internet Daemonµé¿¡ ´ëÇØ ¾ð±ÞÇÑ´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº 8. network¿¡¼­ ´Ù·ê °ÍÀÌ´Ù. ÂüÁ¶Çϱ⠹ٶõ´Ù.

comsat: »õ·Î¿î ¸ÞÀÏÀ» »ç¿ëÀÚ¿¡°Ô ¾Ë·ÁÁÖ±â À§ÇÑ DaemonÀÌ´Ù. talkd: ¼­·Î ´Ù¸¥ ½Ã½ºÅÛ»çÀÌ¿¡¼­ talkÀ» Çϱâ À§ÇÑ DaemonÀÌ´Ù.

rwhod: remote ½Ã½ºÅÛÀÇ »ç¿ëÀÚµéÀ» ¾Ë¾Æº¸±â À§ÇÑ DaemonÀÌ´Ù.

ftpd: ÆÄÀÏÀ» ¼­·Î ÁÖ°í ¹Þ±â À§ÇÑ DaemonÀÌ´Ù.

popper: UNIX°¡ ¾Æ´Ñ ¿î¿µÃ¼Á¦¿¡¼­ MailÀ» ÁÖ°í ¹Þ°Ô Çϱâ À§ÇÑ internet DaemonÀÌ´Ù.

rlogind: remote login À» °¡´ÉÇÏ°Ô ÇÏ´Â DaemonÀÌ´Ù.

telnetd: rlogin°ú ºñ½ÁÇÑ remote login À» °¡´ÉÇÏ°Ô ÇÏ´Â DaemonÀÌ´Ù.

rshd: remote ¿¡¼­ ¸í·ÉÀ» ¼öÇàÇϱâ À§ÇÑ DaemonÀÌ´Ù.

rexecd: rsh°ú ºñ½ÁÇÑ remote ¸í·É ¼öÇàÀ» À§ÇÑ DaemonÀÌ´Ù.

rpc.rexd: RPC remote ¸í·É¼öÇàÀ» À§ÇÑ DaemonÀÌ´Ù.

timed: ½Ã°£À» µ¿±âÈ­ Çϱâ À§ÇÑ DaemonÀÌ´Ù.

xntpd: timedº¸´Ù ´õ ³ª¾ÆÁø ½Ã°£ µ¿±âÈ­¸¦ À§ÇÑ DaemonÀÌ´Ù.

routed: routing tableÀ» °ü¸®Çϱâ À§ÇÑ DaemonÀÌ´Ù.

gated: routed¿Í ºñ½ÁÇÑ ±â´ÉÀÌÁö¸¸ ´õ ¼³Á¤ÀÌ ½¬¿î DaemonÀÌ´Ù.

named: DNS server¿¡¼­ ³×ÀÓ Çؼ®À» À§ÇÑ DaemonÀÌ´Ù.

nntpd: Usenet News¸¦ Á¦°øÇϱâ À§ÇÑ news¼­¹ö DaemonÀÌ´Ù.

innd: nntpd¿Í ºñ½ÁÇÑ ±â´ÉÀ» ¼öÇàÇÏ´Â DaemonÀÌ´Ù.

syslogd: processµéÀÇ ¼öÇà°á°ú³ª ¿¡·¯ ¸Þ½ÃÁö¸¦ ó¸®ÇÏ´Â DaemonÀÌ´Ù.

fingerd: userÀÇ Á¤º¸¸¦ È®ÀÎÇѴµ¥ ¾²ÀÌ´Â finger ¸í·ÉÀ» ó¸®Çϱâ À§ÇÑ DaemonÀÌ´Ù.

httpd: WWWÀ» ¼­ºñ½º Çϱâ À§ÇÑ DaemonÀÌ´Ù.

Daemons for Diskless Clients : bootpd, tftpd, rarpd, bootparamd

bootpd: Boot server±â´ÉÀ» Çϱâ À§ÇÑ Daemon

tftpd: ftpdº¸´Ù ÈξÀ °£´ÜÇÑ ÆÄÀÏ Àü¼ÛÀ» À§ÇÑ Daemon

rarpd: nameÀ» ip·Î ÀνÄÇϱâ À§ÇØ »ç¿ëµÇ´Â Daemon

bootparamd : Diskless client°¡ ¿©·¯°¡Áö ¼³Á¤À¸·Î Boot °¡´ÉÇÏ°Ô ÇÏ´Â Daemon

 
     
 
Prev Next
 

Line
Copyleft (c) 1996-2002, Kang Jul Ki. All rights were not reserved.
¢Æ Powered by jkkang.net