Manpages

NAME

init, telinit − 초 기 화 프 로 세 스 제 어

SYNOPSIS

/sbin/init [ −t sec ] [ 0123456SsQq ]
/sbin/telinit
[ −t sec ] [ 0123456sSQqabc ]

DESCRIPTION

Init
Init
프 로 세 스 는 모 든 프 로 세 스 의 아 버 지 다 . 이 것 은 /etc/inittab 파 일 (inittab(5) 참 조 )을 찾 아 , 지 정 한 스 크 립 트 를 실 행 한 다 . 이 파 일 에 는 사 용 자 가 접 속 할 수 있 도 록 getty 처 리 를 하 는 데 , 이 때 init가 사 용 된 다 . 또 한 이 파 일 은 특 정 시 스 템 에 서 필 요 한 , 자 동 으 로 실 행 되 어 야 하 는 프 로 세 스 들 을 제 어 한 다 .

runlevel이 란 존 재 하 는 프 로 세 스 의 선 택 된 그 룹 만 을 허 락 하 는 시 스 템 의 소 프 트 웨 어 환 경 이 다 . 각 각 의 runlevel에 서 , init에 의 해 생 성 되 는 프 로 세 스 들 은 /etc/inittab 파 일 에 서 정 의 된 다 . Initrunlevel이 0부 터 6, S 또 는 s인 여 덟 종 류 중 하 나 에 존 재 할 수 있 다 . runlevel 값 은 시 스 템 관 리 자 가 /sbin/telinit를 실 행 해 서 바 뀐 다 . telinit는 runlevel을 바 꾸 어 라 는 신 호 를 init에 게 알 린 다 .

커 널 부 팅 이 끝 나 면 , 마 지 막 으 로 init가 실 행 되 는 데 , 이 때 /etc/inittab 파 일 을 찾 아 그 안 에 정 의 된 initdefault (inittab(5) 참 조 ) 부 분 을 읽 는 다 . 그 리 고 그 곳 에 정 의 된 runlevel을 현 재 level로 하 여 나 머 지 작 업 을 계 속 한 다 . 이 때 , /etc/inittab 파 일 이 없 거 나 , initdefault 정 의 가 없 으 면 , 콘 솔 에 서 직 접 runlevel을 입 력 해 야 한 다 .

runlevelSs이 면 , 단 일 사 용 자 모 드 가 진 행 되 면 , 이 때 는 /etc/initttab 파 일 이 필 요 없 다 . 단 일 사 용 자 모 드 에 서 는 /dev/console에 의 해 /bin/sh가 호 출 된 다 .

단 일 사 용 자 모 드 가 되 면 , init는 /etc/ioctl.save에 서 지 정 한 콘 솔 의 ioctl(2)을 읽 는 다 . 이 때 , 이 파 일 이 없 으 면 , init는 라 인 을 9600 baud, CLOCAL로 초 기 화 한 다 . 단 일 사 용 자 모 드 를 떠 나 면 , init는 현 재 콘 솔 의 ioctl 설 정 을 /etc/ioctl.save 파 일 에 저 장 하 고 , 다 음 단 일 사 용 자 모 드 에 서 다 시 사 용 한 다 .

다 중 사 용 자 모 드 로 들 어 가 게 되 면 , init는 먼 저 사 용 자 가 로 그 인 할 수 있 는 마 운 트 된 파 일 시 스 템 의 사 용 을 위 해 boot, bootwait 부 분 을 처 리 하 고 , 다 음 , 나 머 지 부 분 들 을 처 리 한 다 . (inittab에 서 정 의 되 고 있 음 )

한 새 로 운 프 로 세 스 를 시 작 할 때 는 먼 저 /etc/initscript 파 일 이 있 는 지 확 인 을 하 고 , 있 다 면 , 그 스 크 립 트 에 따 라 프 로 세 스 를 시 작 한 다 .

각 하 위 프 로 세 스 들 이 끝 날 때 , init는 /var/run/utmp, /var/log/wtmp 파 일 있 다 면 , 그 파 일 에 그 프 로 세 스 들 의 마 침 정 보 들 (언 제 끝 났 고 , 왜 끝 났 고 ... 이 런 정 보 )을 기 록 한 다 .

지 정 한 그 프 로 세 스 를 모 두 실 행 한 뒤 , init는 그 프 로 세 스 를 마 칠 의 존 적 인 프 로 세 스 중 하 나 나 ,powerfail 시 그 날 이 나 , 시 스 템 의 runleve을 바 꾸 는 /sbin/telinit에 서 보 내 는 시 그 날 을 기 다 린 다 . 이 셋 중 하 나 가 발 생 했 을 때 , init/etc/inittab 파 일 을 다 시 읽 는 다 . 이 파 일 에 는 언 제 든 지 새 로 운 항 목 이 추 가 될 수 있 다 . 하 지 만 그 효 과 는 위 에 서 언 급 한 그 세 가 지 경 우 가 되 어 init가 그 파 일 을 읽 을 때 나 타 난 다 . 이 런 상 황 이 아 닌 데 도 /etc/inittab 파 일 을 읽 어 야 할 경 우 에 는 Qq 명 령 을 사 용 한 다 .

만 약 단 일 사 용 자 모 드 가 아 닌 데 , powerfail 시 그 날 이 발 생 하 면 , init/etc/inittab 파 일 에 서 특 별 하 게 지 정 된
powerfail 부 분 을 실 행 한 다 .

runlevel이 바 뀌 었 을 때 , 그 새 로 운 runlevel에 대 해 서 특 별 히 대 처 하 지 않 게 지 정 된 모 든 프 로 세 스 에 게 init는 경 고 시 스 날 인 SIGTERM 을 보 낸 다 . 그 리 고 나 서 5초 동 안 기 다 리 고 는 종 료 시 그 날 인 SIGKILL 을 그 프 로 세 스 들 에 게 보 낸 다 . 이 때 , init는 그 프 로 세 스 들 을 위 해 원 래 만 들 어 진 . 같 은 프 로 세 스 그 룹 안 에 남 아 있 다 고 가 정 한 다 는 것 을 주 의 하 라 . 만 약 어 떤 프 로 세 스 가 자 신 의 프 로 세 스 그 룹 을 바 꾸 었 다 면 , 이 프 로 세 스 는 위 에 서 언 급 한 시 그 날 들 을 받 지 못 한 다 . 이 런 프 로 세 스 들 은 사 용 자 가 직 접 종 료 해 야 한 다 .

telinit
/sbin/telinit
/sbin/init에 링 크 되 어 있 는 명 령 이 다 . 이 것 은 한 문 자 의 명 령 행 인 자 와 적 당 한 작 업 을 수 행 할 signals init를 가 진 다 . 여 기 서 사 용 할 수 있 는 한 문 자 명 령 행 인 자 는 다 음 과 같 다 . /sbin/telinit:
0
,1,2,3,4,5,6

/sbin/init에 게 runlevel이 바 뀌 었 음 을 알 린 다 .

a,b,c

/etc/inittab 파 일 에 서 지 정 한 a,b,c runlevel 부 분 을 처 리 하 라 고 init에 게 알 린 다 .

Q or q

/sbin/init/etc/inittab 파 일 을 다 시 읽 도 록 지 시 한 다 .

S or s

/sbin/init에 게 단 일 사 용 자 모 드 로 전 환 하 라 고 알 린 다 .

또 한 init가 TERM 시 그 날 을 보 내 고 나 서 몇 초 를 기 다 린 후 , KILL 시 그 날 을 프 로 세 스 들 에 게 보 낼 지 를 지 정 할 수 있 다 . 초 기 값 은 5초 다 . 이 것 은 -t sec 옵 션 으 로 지 정 한 다 .

/sbin/telinit 명 령 은 단 지 시 스 템 관 지 자 에 의 해 서 만 호 출 될 수 있 다 .

RUNLEVELS

init와 관 계 되 는 runlevel은 0, 1, 6이 다 . 0은 시 스 템 종 료 에 , 6은 시 스 템 재 시 동 (reboot)에 , 1은 단 일 사 용 자 모 드 에 사 용 된 다 . runlevel S는 바 로 처 리 되 지 않 고 , runlevel 1로 바 뀌 었 을 때 처 리 되 는 부 분 에 서 처 리 된 다 . 자 세 한 이 야 기 는 shutdown(1), inittab(5) 매 뉴 얼 페 이 지 를 참 조 한 다 .

runlevel 7-9도 사 용 할 수 있 지 만 , 이 문 서 에 서 는 다 루 지 않 는 다 . 이 것 은 "전 통 적 인 " Unix 환 경 에 서 는 사 용 되 지 않 는 값 들 이 기 때 문 이 다 . 일 반 적 으 로 runlevel Ss 값 이 runlevel 7-9와 같 은 역 활 을 한 다 . 이 것 은 단 지 하 나 의 별 칭 으 로 사 용 된 다 . 이 풀 그 림 제 작 자 가 sysvinit를 만 들 때 사 용 한 시 스 템 에 서 이 값 들 을 사 용 하 기 때 문 에 남 겨 두 었 을 뿐 이 다 .

FILES

/etc/inittab
/etc/initscript
/dev/console
/etc/ioctl.save
/var/run/utmp
/var/log/wtmp
/dev/initctl

ENVIRONMENT

init에 서 는 다 음 과 같 은 환 경 변 수 를 사 용 한 다 .

PATH

초 기 값 : /bin:/usr/bin:

INIT_VERSION

init의 버 전 정 보 . 이 것 은 init 스 크 립 트 작 성 에 서 요 용 하 게 쓰 인 다 .

RUNLEVEL

시 스 템 의 현 재 runlevel.

PREVLEVEL

이 전 runlevel.(runlevel 전 환 때 에 요 용 하 게 쓰 인 다 .)

BOOTFLAGS

부 트 관 리 자 (예 , LILO)에 서 다 음 인 자 들 을 사 용 할 수 도 있 고 , 생 략 할 수 도 있 다 .
S, single

단 일 사 용 자 모 드 로 부 팅 한 다 . 이 모 드 에 서 는 /etc/inittab 파 일 을 검 사 하 고 , 단 일 사 용 자 모 드 의 쉘 이 시 작 되 기 전 에 , rc 스 크 립 트 가 일 반 적 으 로 실 행 된 다 .

1-5

지 정 한 runlevel로 부 팅 한 다 .

-b, emergency

다 른 어 떠 한 시 작 스 크 립 트 없 이 바 로 단 일 사 용 자 모 드 로 부 팅 한 다 .

CONFORMING TO

Init는 System V init와 호 환 이 된 다 . 이 것 은 /etc/init.d, /etc/rc{runlevel}.d 경 로 안 에 있 는 스 크 립 트 들 을 실 행 한 다 . 자 신 의 시 스 템 에 적 용 하 려 면 , 먼 저 /etc/init.d 경 로 안 에 있 는 스 크 립 트 들 이 어 떻 게 작 동 할 것 인 지 에 대 해 서 이 야 기 하 고 있 는 README 파 일 을 읽 어 보 라 .

WARNINGS

init는 어 떤 프 로 세 스 가 실 행 될 당 시 에 소 속 되 어 있 는 프 로 세 스 그 룹 안 에 계 속 있 다 고 가 정 한 다 . 그 렇 기 때 문 에 , 만 약 그 프 로 세 스 가 그 그 룹 에 더 이 상 소 속 되 지 않 는 다 면 , runlevel이 바 뀌 었 어 그 프 로 세 스 를 마 쳐 야 할 때 , 제 대 로 마 칠 수 없 게 된 다 .

DIAGNOSTICS

만 약 2분 동 안 10번 이 상 init가 계 속 해 서 호 출 된 다 면 , init는 이 런 상 태 를 오 류 로 가 정 한 다 . 그 리 고 는 시 스 템 콘 솔 에 오 류 메 시 지 를 보 여 준 다 . 그 리 고 , 5분 간 프 로 세 스 생 성 을 중 지 하 고 , 발 생 되 는 시 그 날 을 받 는 다 . 이 것 은 시 스 템 리 소 스 의 낭 비 를 막 기 위 한 조 치 이 다 .

AUTHOR

Miquel van Smoorenburg (miquels [AT] cistron.nl), initial manual page by Michael Haardt (u31b3hs [AT] pool.de).

SEE ALSO

getty(1), login(1), sh(1), who(1), shutdown(1), kill(2), inittab(5), initscript(5), utmp(5)