LFCS — 리눅스 재단 시스템 관리자 · 실행 중인 시스템 운영 · 퀴즈
퀴즈: 실행 중인 시스템 운영
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
`kill -9` 를 보냈는데도 프로세스가 목록에서 사라지지 않는다. `ps` 의 상태가 `D` 라면 원인은?
- 애플리케이션이 SIGKILL 핸들러를 등록해 무시하고 있다
- 중단 불가 대기 상태라 커널이 I/O 를 끝낼 때까지 시그널이 처리되지 않는다
- 프로세스가 이미 죽었고 부모가 회수하지 않았다
- 권한이 부족해 시그널이 전달되지 않았다
컨테이너에서 시작 명령을 셸 형식으로 쓰면 정지 시 애플리케이션이 유예 없이 죽는 이유는?
- 셸 형식은 항상 SIGKILL 로 시작하기 때문
- 셸이 PID 1 이 되고 SIGTERM 을 자식에게 전달하지 않기 때문
- 컨테이너 런타임이 셸 프로세스를 인식하지 못하기 때문
- 셸이 시그널 핸들러를 모두 무시하도록 설정되기 때문
nice 값에 대한 설명으로 옳은 것은?
- 범위는 0~39 이며 값이 클수록 우선순위가 높다
- 범위는 -20~19 이며 값이 높을수록 우선순위가 높다
- 범위는 -20~19 이며 값이 낮을수록 우선순위가 높고, 일반 사용자는 낮출 수 없다
- 일반 사용자도 root 처럼 자유롭게 올리고 내릴 수 있다
서비스가 설정 오류로 크래시를 반복할 때 무한 재시작을 막는 `StartLimitIntervalSec` 과 `StartLimitBurst` 는 어느 섹션에 넣어야 하는가?
- [Service]
- [Unit]
- [Install]
- [Restart]
`ExecStart=/opt/app/bin/server | tee /var/log/app.log` 가 동작하지 않는 이유는?
- tee 가 기본 설치되어 있지 않아서
- 표준 출력이 이미 저널로 연결되어 있어 파이프를 만들 수 없기 때문
- systemd 가 셸을 거치지 않고 직접 실행하므로 파이프가 인자로 넘어가기 때문
- ExecStart 는 인자를 하나만 받기 때문
`/etc/cron.d/` 아래 파일과 사용자 crontab 의 형식 차이는?
- 차이가 없다. 위치만 다르다
- 사용자 crontab 에만 요일 필드가 있다
- /etc/cron.d 파일에는 시간 5필드 뒤에 실행 사용자 필드가 하나 더 들어간다
- /etc/cron.d 파일은 시간 필드가 6개다