지난 포스팅에서 런레벨에 대해 알아보았습니다.

이번에는 이와 연관된 프로세스인 init 프로세스에 대해 알아보겠습니다.

 

(1) init 프로세스

init 프로세스는 유닉스/리눅스 시스템이 부팅 되는 과정에서 가장 먼저 실행되는 프로세스입니다.

ps 명령어를 통해 PID 볼까요?

[root@localhost ~]# ps -ef

UID         PID   PPID  C STIME TTY          TIME CMD

root          1      0  0 10:39 ?        00:00:00 /sbin/init

root          2      0  0 10:39 ?        00:00:00 [kthreadd]

root          3      2  0 10:39 ?        00:00:00 [migration/0]

root          4      2  0 10:39 ?        00:00:00 [ksoftirqd/0]

<중략>

init 프로세스의 PID 1, 가장 먼저 실행된 것을 확인할 있습니다.

 

부팅 과정에서 커널이 로드되고, 루트 파일 시스템을 완전히 마운트하게 되면 커널은 init 프로세스를 실행하게 됩니다. 이후 부팅과 관련된 소프트웨어 구동은 init 프로세스에 위임됩니다.

init 프로세스는 /etc/init 디렉터리 안에 있는 환경 설정 파일을 읽어 들여서 동작합니다.

[root@localhost ~]# ls /etc/init

ck-log-system-restart.conf  rcS.conf

ck-log-system-start.conf    rcS-emergency.conf

ck-log-system-stop.conf     rcS-sulogin.conf

control-alt-delete.conf     readahead-collector.conf

init-system-dbus.conf       readahead.conf

kexec-disable.conf          readahead-disable-services.conf

plymouth-shutdown.conf      serial.conf

prefdm.conf                 splash-manager.conf

quit-plymouth.conf          start-ttys.conf

rc.conf                     tty.conf

 

(2) 주요 /etc/init/ 환경 설정 파일

파일명

설명

/etc/init/rcS.conf

시스템 초기화와 관련된 내용 설정

/etc/rc.d/rc.sysinit 스크립트 실행

   -> 호스트명 설정, 시스템 점검, RAID LVM 활성화, 쿼터 설정 활성화

/etc/init/rc.conf

부팅 Runlevel 별로 진행되는 내용 설정

/etc/rc.d/rc 스크립트 실행

   -> Runlevel 데몬 스크립트 실행 (/etc/rc.d/rc<#>.d/S~~~)

         K 시작하는 스크립트들은 종료를 위한 스크립트

 

(3) /etc/rc.d/rc.local

Runlevel 2,3,5에서 가장 마지막에 실행되는 파일입니다.

부팅 시에 필요한 서비스를 파일에 등록해서 자동으로 실행하도록 만들 있습니다.

예를 들어, 부팅 시에 tomcat 무조건 실행시키고 싶다면,

[root@localhost init]# vi /etc/rc.d/rc.local

#!/bin/sh

#

# This script will be executed *after* all the other init scripts.

# You can put your own initialization stuff in here if you don't

# want to do the full Sys V style init stuff.

 

touch /var/lock/subsys/local

/usr/local/tomcat/bin/startup.sh

 

이렇게 스크립트를 등록하면 됩니다.

 

출처:

정성재,배유미 공저(2018), "리눅스마스터 1 정복하기(1,2 시험대비) 8", p67

'Linux' 카테고리의 다른 글

리눅스 su, su - 차이  (0) 2020.07.20
수세 리눅스 zypper 설치 시 Please insert medium…. 오류 해결방법  (0) 2020.07.09
리눅스 런레벨(Runlevel)  (0) 2020.03.18
GRUB?  (0) 2020.03.18
RAID?  (0) 2020.03.18

+ Recent posts