리눅스/리눅스 연습(fedora, ubuntu)

Fedora 2부 리눅스 프로세스 [인프라 TIP]

피어나는 열정 2022. 7. 18. 20:13

[인프라 TIP]

 

kill and ps

리눅스 시스템관리를 하다보면 프로세스관리를 해야 합니다.

프로세스관리라 함은 특정프로세스가 실행되어 있는가를 확인하는 것에서부터 출발하여 특정프로세스를 죽이는 것

 

특정프로세스가 사용하고 있는 시스템자원들(파일, 메모리, CPU)의 량 확인, CPU를 많이 사용하는 프로세스는 어떤것인가?등과 같은 것입니다.

 

fork

리눅스의 장점 중 하나가 바로 멀티 태스킹입니다. 멀티테스킹을 하기 위해서는 fork를 사용합니다..

 

서버에서 클라이언트가 만약 1억 개라면? 서버는 모든 클라이언트와 순서대로 데이터를 주고받아야 하기 때문에 처리 속도가 떨어질 수밖에 없습니다. 이러한 문제점을 해결하기 위해서 우리는 fork라는 기법을 사용하려 합니다. 

 

원래 모든 프로세스는 터미널 접속했을때에 환경인 Bash 를 fork 해서 작동됩니다.

ctrl+c 를 눌렀다 하더라도 부모프로세스만 종료되고 자식프로세스는 남아 있는 경우가 있습니다.

하지만 로그아웃을 하면 모든 프로세스가 죽게되어 있습니다. 그리고 그렇게 하지 못하도록 하는방법은 nohup 입니다.

 

아직은 리눅스 초반이니까 기반만 튼튼하게 다집고 가겠습니다.

 

 

 

프로세스

정의 : 하드디스크에 저장된 실행코드가 메모리에 로딩되어 활성화된것

 

포그라운드 프로세스

사용자와 상호작용을 하는 프로세스를 의미한다. 화면에서 실행되는 것이 보이는 프로세스라고 생각하면 된다.

 

백그라운드 프로세스

화면에는 나타나지 않고 뒤에서 실행되는 프로세스

 

프로세스 번호

메모리에 로딩되어 활성화된 프로세스를 구분하려면 각각의 고유번호가 필요하다.

 

작업 번호

현재 실행되는 백그라운드 프로세스의 순차 번호를 의미

 

부모 프로세스와 자식 프로세스

모든 프로세스는 혼자서 독립적으로 실행되는것이 아니라. 부모 프로세스의 하위에 종속되어 실행된다.

 

ps

현재 프로세스의 상태를 확인하는 명령어

ps -ef | grep : 프로세스의 번호 및 상태를 확인 할 때

 

kill

프로세스를 강제 종료하는 명령어

kill -9 :무조건 프로세스가 종료된다.

 

pstree

부모 프로세스와 자식 프로세스의 관계를 트리 형태로 보여준다.

 

서비스

데몬이라고도 부르는 서비스는 서버 프로세스를 의미한다. 

서비스는 웹서버, 네임서버, db서버 등의 프로세스를 지칭한다.

 

서비스 : 평상시에도 늘 가동하는 서버프로세스

소켓 : 필요할 때만 작동하는 서버프로세스

 

응급 복구

 

grub 부트로더 : 페도라를 부팅 할때 처음 나오는 선택 화면

 

커널

모듈 : 부팅시에는 꼭 필요하지 않거나 언제 사용할지 모르는 유용한 정보

모든 정보를 커널에 두면 운영체제가 너무 무거워지기 때문에 필요하지 않은 정보는 모듈에 넣다뺐다를 한다.

 

 

페도라와 다른 리눅스 운영체제와 다른점

페도라와 다른 리눅스 운영체제의 가장 큰 차이점은 배포 주기입니다. 페도라는 6개월마다 새로운 버전을 배포하는 롤링 릴리스 방식을 채택하고 있습니다. 반면, 다른 대부분의 리눅스 배포판은 1년 또는 2년에 한 번씩 새로운 버전을 배포하는 정기 릴리스 방식을 채택하고 있습니다.

 

롤링 릴리스 방식은 최신 소프트웨어와 패치를 제공할 수 있다는 장점이 있지만, 버그가 발생할 위험이 높다는 단점이 있습니다. 정기 릴리스 방식은 안정성이 높다는 장점이 있지만, 최신 소프트웨어와 패치를 제공하는 데 시간이 걸릴 수 있다는 단점이 있습니다.

 

페도라는 또한 개발자 친화적이라는 특징을 가지고 있습니다. 페도라는 최신 소프트웨어와 패치를 제공하고, 다양한 개발 도구와 라이브러리를 지원합니다. 또한, 페도라 커뮤니티는 활발하게 활동하고 있으며, 개발자들에게 도움을 제공합니다.

페도라는 다음과 같은 리눅스 운영체제와 비교해 볼 수 있습니다.

  • 우분투: 우분투는 페도라와 마찬가지로 롤링 릴리스 방식을 채택하고 있습니다. 우분투는 페도라보다 사용자 친화적이라는 평가를 받고 있습니다.
  • 레드햇 엔터프라이즈 리눅스(RHEL): RHEL은 정기 릴리스 방식을 채택하고 있으며, 엔터프라이즈 환경에서 사용하기 위해 설계되었습니다. RHEL은 페도라의 상업용 버전으로, 안정성과 보안성이 뛰어납니다.
  • 센트OS: CentOS는 RHEL의 커뮤니티 버전으로, RHEL과 동일한 코드를 사용합니다. CentOS는 RHEL의 안정성과 보안성을 유지하면서도 무료로 사용할 수 있다는 장점이 있습니다.

페도라는 다음과 같은 사용자에게 적합한 리눅스 운영체제입니다.

  • 최신 소프트웨어와 패치를 사용하고 싶은 사용자
  • 개발을 위한 운영 체제를 찾는 사용자
  • 사용자 인터페이스에 큰 영향을 받지 않는 사용자