개발일기장
chapter 04 - 필수 개념과 명령어 (4) 본문
프로세스, 데몬, 서비스
포그라운드 프로세스
백그라운드 프로세스
프로세스 번호: 메모리에 로딩되어 활성화된 프로세스 구분하기 위한 번호
작업 번호: 현재 실행되는 백그라운드 프로세스의 순차 벟노
부모 프로세스와 자식 프로세스: 프로세스는 혼자서 실행됟는 것이 아니라 부모 프로세스의 하위에 종속되어 실행된다.
ps
-> 현재 프로세스의 상태를 확인
ps -ef | grep [프로세스 이름] 명령으로 프로세스의 번호 및 상태를 확인할 수 있다.
kill
kill -9 [프로세스 번호]
pstree
부모 프로세스와 자식 프로세스의 관계를 트리 형태로 보여줌
실습
터미널 2개를 올려두고
터미널 1
yes > /dev/null
yes명령어는 무한 반복 출력
터미널 2
ps -ef | grep yes
프로세스 번호를 확인 한 후
kill -9 [프로세스 번호]
ps -ef | grep yes
명령을 내렸을 때
root는 소유주
2812는 프로세스 번호
2694는 부모 프로세스 번호
백그라운드 실행
yes > /dev/null
[ctrl + z] 프로세스 일시 중지
bg [중지된 프로세스 실행]
jobs [현재 백그라운드 가동 중인 프로세스 확인]
fg [작업 번호] [포그라운드 프로세스로 변경]
이게 맞나? 모르겠담
프로세스 실행 명령 &
뒤에 & 를 붙이면 백그라운드로 프로세스를 실행한다
압축프로그램으로 대용량 압축 파일을 만든다면 시간이 오래 걸리니깐 이런경우 백그라운드로 실행하는것이 유용(카더라)
서비스와 소켓
서비스는 평상시에 늘 가동하는 서버 프로세스
소켓은 필요할 떄만 작동하는 서버 프로세스
systemd 라는 매니저 프로그램으로 작동시키거나 관리 (또는 init)
서비스
시스템과 독자적으로 구동 제공되는 프로세스
웹서버, DB, FTP등..
systemctl start/stop/restart 서비스이름
systemctl status 서비스이름
systemctl enable/disable 서비스이름
서비스 실행 스크립트 파일은 /usr/lib/systemd/system/에 서비스이름.service 로 확인 할 수 있다
Cron은 crond.service
소켓
서비스는 항강 가동, 소켓은 외부에서 특정 서비스 요청할 경우 구동. 요청끝나면 소켓 종료
처음 연결시간이 더 걸릴 수 있다.
서비스 실행 스크립트 파일은 /usr/lib/systemd/system/에 서비스이름.socket로 확인 할 수 있다
응급복구, 부트로더는 생략(어려어)
커널 컴파일
커널은 하드웨어 지원하는 역할을 수행
모듈은 필요할 떄 마다 커널에 가따 쓰는 놈
-> 근대 이번 장에서는 커널 컴파일해서 최신으로 바꾸는거 하는데 회사꺼는 몇년째 안바꾸는거 보면 안해도되나
uname -r
명령어 입력하면 커널버젼 확인 할 수 있다.
- 위에 url에서 stable한 커널파일을 다운받는다
- 그거를 /usr/src로 옮긴다
- 거기서 tar xfJ 명령어로 압축을 해재한다
- bison / flex / elfutils-libelf-devel / openssl-devel 패키지 설치
- make mrproper로 커널 설정 초기화
- make xconfig로 커널 환경 설정.. (원하는거 하셈.. 무서워서 책에서 하라는것만 했음..)
- config 수정할거 있으면 하고
- make clean
- make; make modules_install; make install 명령어로 한꺼번에 실행
make 명령은 커널 컴파일 환경 설정대로 소스 파일을 컴파일
make modules_install 명령은 컴파일된 모듈을 /lib/modules/ 디렉터리에 설치
make install 명령은 실제 컴파일된 커널을 /boot 디렉터리에 설치
근대 설치하는거 엄청 걸림
걍 하지말껄
하
생각해보면 윈도우 업댓할때도 한참 걸리고 했는대 넘 당연한거인듯
그냥 이시간에 다시
딱 설치 끝났네
/lib/modules/
/boot 디렉터리 확인하면 새로운 버전이 설치된 것을 확인 할 수 있다.
아 진짜 내일은 짐 정리하고 쉬어야지
'책 정리 > 리눅스 CentOS 8' 카테고리의 다른 글
chapter 06 - 하드디스크 관리와 사용자별 공간 할당 (2) (0) | 2023.01.02 |
---|---|
chapter 06 - 하드디스크 관리와 사용자별 공간 할당 (1) (0) | 2023.01.01 |
chapter 04 - 필수 개념과 명령어 (3) (1) | 2022.12.20 |
chapter 04 - 필수 개념과 명령어 (2) (2) | 2022.12.19 |
chapter 04 - 필수 개념과 명령어 (1) (0) | 2022.12.19 |