본문 바로가기
  • 노션에서 삽질한 내용을 정리하는 블로그
자기발전소/# Linux

리눅스 프로세스 관리

by iamlucia 2021. 1. 3.

 

 

 

일반적인 시스템 관리와 문제 해결의 효율적인 처리에 도움이 되는

리눅스 프로세스 관리에 대한 이해!


참고 도서 : 모던 리눅스 관리

 

먼저 용어 정리, 

소프트웨어 : 사람을 대신하여 컴퓨터 하ㅇ드웨어를 제어하는 명령을 담은 프로그램 코드

프로세스 : 실행 주인 소프트웨어 프로그램의 인스턴스

OS : 컴퓨터 하드웨어 리소스를 효율적으로 사용하고자 인스턴스들을(프로세스) 관리하는 도구

프로세스를 관리하기 위한 일종의 교통 경찰이 바로 systemctl 

 

일반적으로 ps 명령만 실행하면, 

1. 현재 shell session에서 사용하는  bash 명령 인터프리터 프로세스

2. 가장 최근에 실행한 ps 명령의 프로세스

* bash의 PID가 1493이라는 건, 이미 이 전에 열심히 돌고 있는 프로세스가 아주 많음을 의미한다.

이 프로세스를 추적해가보면 결국 init 프로세스에 도달한다. 

 

** init 프로세스 확인(PID 가  1) 

init 프로세스의 소유자가 root 이며, sbin 디렉토리의 init이라는 파일이 해당 프로세스의 실행 파일임

*ps  -e 옵션 : init이후 모든 부모 셸에서 실행된 프로세스 출력, 커널프로세스 제외한 모든 프로세스 

 

> ps 명령으로 프로세스 살펴보기 

10초 동안 백그라운드(&)에서 아무것도 하지않고 있다가(sleep 1) 종료하는 명령을 실행한다.

그리고 ps 명령을 실행하여 실행 중인 프로세스를 나열해 본다. 

 

10초 후에 ps를 다시 실행하면 두 개의 프로세스는 사라져있고,

sleep 명령이 성공적으로 실행되었다는 메시지가 출력된다.

 

 

> 부모 자식 셸/프로세스 시각화해서 보기 위한 pstree

*-p 옵션: 각 프로세스의 PID 확인 가능

 

 

init 프로세스 pid 가 1 이었는데,

ef옵션 없이 ps 리스트 확인하면, systemd가 pid 1? 

 

 

systemd

/sbin/init을 인자로 file명령을 실행하면 

systemd 라는 프로그램에 대한 심볼릭 링크를 확인 가능 

/sbin 디렉토리에서도 확인 가능 

거의 모든 리눅스 배포판에서 init이 하던 일을 systemd가 대체했다.

 

systemd는 개별 프로세스를 생성, 유지, 종료하는 방법을 제어한다.

그리고 이런 작업에 주로 사용하는 명령어는 systemctl 이다.

(d :  백그라운드에서 실행되는 시스템 프로세스인 데몬)

'자기발전소 > # Linux' 카테고리의 다른 글

Windows Subsystem for Linux(Windows 10) 설치 기록  (0) 2021.01.05
리눅스 아카이빙  (0) 2021.01.03
가상화 : Hypervisor  (0) 2020.11.03
Linux : 리눅스에 대하여  (0) 2020.11.03
LINUX : Run Level  (0) 2020.05.30