개발일기장

chapter 04 - 필수 개념과 명령어 (4) 본문

책 정리/리눅스 CentOS 8

chapter 04 - 필수 개념과 명령어 (4)

게슬 2022. 12. 21. 22:20
728x90

프로세스, 데몬, 서비스

포그라운드 프로세스

 

백그라운드 프로세스

 

프로세스 번호: 메모리에 로딩되어 활성화된 프로세스 구분하기 위한 번호

 

작업 번호: 현재 실행되는 백그라운드 프로세스의 순차 벟노

 

부모 프로세스와 자식 프로세스: 프로세스는 혼자서 실행됟는 것이 아니라 부모 프로세스의 하위에 종속되어 실행된다.

 

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

.service랑 .socket

소켓

서비스는 항강 가동, 소켓은 외부에서 특정 서비스 요청할 경우 구동. 요청끝나면 소켓 종료

처음 연결시간이 더 걸릴 수 있다.

서비스 실행 스크립트 파일은 /usr/lib/systemd/system/에 서비스이름.socket로 확인 할 수 있다

 

응급복구, 부트로더는 생략(어려어)


커널 컴파일

커널은 하드웨어 지원하는 역할을 수행

모듈은 필요할 떄 마다 커널에 가따 쓰는 놈

-> 근대 이번 장에서는 커널 컴파일해서 최신으로 바꾸는거 하는데 회사꺼는 몇년째 안바꾸는거 보면 안해도되나

리눅스 버젼

uname -r

명령어 입력하면 커널버젼 확인 할 수 있다.

www.kernel.org

  1. 위에 url에서 stable한 커널파일을 다운받는다
  2. 그거를 /usr/src로 옮긴다
  3. 거기서 tar xfJ 명령어로 압축을 해재한다
  4. bison / flex / elfutils-libelf-devel / openssl-devel 패키지 설치
  5. make mrproper로 커널 설정 초기화
  6. make xconfig로 커널 환경 설정.. (원하는거 하셈.. 무서워서 책에서 하라는것만 했음..)
  7. config 수정할거 있으면 하고
  8. make clean
  9. make; make modules_install; make install 명령어로 한꺼번에 실행

1~3
7~9

make 명령은 커널 컴파일 환경 설정대로 소스 파일을 컴파일

make modules_install 명령은 컴파일된 모듈을 /lib/modules/ 디렉터리에 설치

make install 명령은 실제 컴파일된 커널을 /boot 디렉터리에 설치

 

근대 설치하는거 엄청 걸림

걍 하지말껄

생각해보면 윈도우 업댓할때도 한참 걸리고 했는대 넘 당연한거인듯

그냥 이시간에 다시 

딱 설치 끝났네

 

/lib/modules/

/boot 디렉터리 확인하면 새로운 버전이 설치된 것을 확인 할 수 있다.

 

아 진짜 내일은 짐 정리하고 쉬어야지

728x90
Comments