Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- maven
- git hub
- open ai
- 리눅스
- 변수
- go
- Linux
- 애저
- 사용자 계정 관리
- AI
- nexus
- Azure
- AI챗봇
- dockerfile
- AWS
- 함수
- docker
- awskrug
- aws사용자모임
- python
- 명령어
- 파이썬
- it기사
- terraform
- GIT
- jenkins
- 3티어 아키텍처
- 프로세스 관리
- 클라우드
- 표준 라이브러리
Archives
- Today
- Total
We are Architect
6. 프로세스 관리 본문
* 프로세스와 작업 관리
- 시스템의 안정성과 효율을 및 사용자의 요구 충족 그리고 리눅스에서 발생하는 문제의 해결을 위해서는 다음과 같은 항목들을 알아야 한다.
* 프로세스 관리
- 프로세스: 현재 실행되고 있는 프로그램.
- 프로세스의 호출 방식 (fork방식)
- 부모-자식 관계: 필요에 따라 부모 프로세는 자식을 호출하고 자식은 또 다른 자식 호출가능 -> fork방식
- 그 덕분에 관리하기가 쉬움. -> 쉬운 추적 및 종료가능.
- 부모 프로세스의 예시) bash 쉘 / 자식 프로세스의 예시) vi, ls
- 프로세스의 호출 방식 (exec방식)
- 프로세스들을 덮어 씌워서 실행시키는 방식.
- 덮어 씌워서 프로세스를 관리 하기는 어려움.
- 그러나 메모리 사용이 덜함.
- 프로세스 번호
- 각 프로세스는 고유의 번호(PID)를 갖고 있음.
- 프로세스의 종류
- 일반 프로세스
- 뭔가를 실행시키고 종료되면 없어지는 프로세스.
- 데몬 프로세스
- 특정 서비스를 제공하기 위해 존재. 리눅스 커널에 의해 실행.
- 스스로 종료하지 않고 영구적으로 프로세스를 실행.
- 백그라운드에서 동작.
- 데몬 프로세스의 종류
- standard alone: 보통 데몬 프로세스들이 사용하는 방식.
- 모든 프로세스들이 메모리에 상주하는 방식.
- 메모리에 상주해 있다보니 응답속도가 빠름.
- 단, 상주하는 메모리들이 많다 보면 메모리 공간이 부족해질 수 있음.
- super daemon: xinetd에 의해 동작.
- 슈퍼 데몬들만 상주하는 방식.
- 메모리의 xinetd의 의해서 데몬 프로세스를 HDD에서 꺼내고 집어넣고 해서 응답속도가 느리다.
- * 키워드
- 데몬 프로세스에서 데몬의 뜻
- '보이지 않는 영적인 존재' 라는 뜻으로 프로세스가 사용자의 눈에서 동작하지 않고 백그라운드에서 실행된다고 해서 데몬이라는 수식어가 앞에 붙음.
- xinetd
- 인터넷 서비스 데몬이라고 하며 여러 네트워크 서비스를 중앙에서 관리하는 데 사용.
- 데몬 프로세스에서 데몬의 뜻
- standard alone: 보통 데몬 프로세스들이 사용하는 방식.
- 고아 프로세스
- 자식 프로세스가 아직 실행중인데 부모 프로세스가 종료된 상태.
- 자식 프로세스를 고아 프로세스라고 함.
- 차후에 PID 1(시스템 d)가 고아 프로세스를 관리함.
- 좀비 프로세스
- 자식 프로세스가 종료가 되었으나 부모 프로세스 테이블에 남아 있는 경우.
- 테이블에는 목록이 늘어날수록 메모리에 부담이 간다.
- 일반 프로세스
- 포그라운드 & 백그라운드
- 포그라운드: 프로세스가 쉘 앞에서 동작하는 경우로 화면에서 사용자가 프로세스 종료 시까지 컨트롤 불가능.
- 백그라운드: 프로세스가 쉘 뒤에서 동작하는 경우로 사용자가 화면 컨트롤이 가능.
- 어떤 작업이냐에 따라 사용되는 동작되는 방식이 다름.
- 프로세스를 컨트롤하는 명령어
- kill -1 [PID] : 프로세스 재시작.
- kill -2 [PID] : 프로세스 강제 중지(Ctrl + c) -> 아직 메모리에 상주.
- kill -3 [PID] : 비정상 종료.
- kill -9 [PID] : 프로세스 강제 종료.
- kill -11 [PID] : 메모리 비정상적으로 사용 중 일때 해당 프로세스 종료.
- kill -15 [PID] : 프로세스 정상 종료.
- kill -17 [PID] : 좀비 프로세스 종료.
- kill -19 [PID] : 작업 제어시 사용. (포그라운드에서 백그라운드 전환 시 -> Ctrl + z)
- 프로세스 목록 보기
- ps : 현재 터미널에서만 실행시킨 프로세스 실행 목록을 보여준다.
- pstree : 모든 프로세스를 트리 형태로 보여주는 명령어.
- ps -e : 현재 터미널에서 실행되는 모든 프로세스들이 나온다.
- ps -ef : 보다 더 상세 정보를 알기 위한 -f 옵션.
- 메모리 사용 관련 옵션은 없다.
- ps -fu 사용자 : 특정 사용자가 실행시킨 ps 목록들.
- pgrep : 원하는 프로세스를 찾아준다.
- pgrep -x : 패턴과 정확하게 일치한 패턴을 찾아줌
- pgrep -n : 최근 프로세스 정보를 출력한다.
- 응용: ps -fp $(pgrep -u user1 bash)
- pgrep으로 찾아라 user1에 있는 bash 라는 파일을, 그리고 프로세스 내용을 자세히 출력하라.
- ps : 현재터미널 기준에서 실행중인 목록 나옴.
- ps a : 이 시스템에서 가동한 터미널에서 돌아가는 ps 들.
- ps au : 이 시스템에서 가동한 터미널의 상세정보를 나타냄.
- ps aux : 전체시스템에서 가동한 터미널의 상세정보를 나타낸다.
- ps -p PID : 프로세스의 상세 정보를 알려줌.
'운영체제 > Linux' 카테고리의 다른 글
8. 작업관리 & 작업예약 (0) | 2024.11.25 |
---|---|
7. 프로세스 관리(2) (0) | 2024.11.25 |
5. 쉘(Shell) (0) | 2024.11.23 |
4. 문서 편집기 (0) | 2024.11.21 |
3. 디렉터리와 파일 그리고 명령어까지..(2) (0) | 2024.11.21 |