-
리눅스마스터2급 정리 003. 프로세스 개념 및 유형, Utility자격증/리눅스 마스터 2020. 6. 25. 07:09반응형
1. 프로세스 관리
1) 프로세스 : CPU와 메모리 할당을 받아 실행중인 프로그램, 프로세스들 마다 고유의 PID(Process ID)를 할당 받는다.
- 최초의 프로세스인 init은 PID번호가 1이다.
(1) ps (process status) : 현재 실행중인 프로세스 상태를 보여준다.
* CPU 사용도가 낮은 순서로 출력하고, NICE 값은 프로세스 실행 우선순위를 결정
(2) jobs : 특정 사용자가 백그라운드로 실행중인 프로세스를 확인할 때 사용한다.
* 백드라운드에서 프로세스를 포그라운드 프로세스로 전환할 때 : fg%작업번호
* jobs 명령 실행 시 +가 추로 처리되는 프로세스로 + 기호가 붙은 작업의 다음 우선순위의 작업이다.
* [ctrl] + [z] : 포그라운드 프로세스를 백그라운드 프로세스로 전환할 때 사용한다. : 시그널 번호 20 ([ctrl] + [c] : 시그널 번호 : 2)(3) fork : 프로세스 생성의 한 방법으로 새로운 프로세스를 원래의 프로세스의 자식 프로세스로 관리하는 방식
(4) exec : 원래의 프로세스를 새로운 프로세스로 대체하는 형태로 호출한 프로세스의 메모리에 새로운 프로세스의 코드로 덮어씌운다.
(5) inetd : 지속적인 서비스 요청을 처리하기 위해 관련 데몬이 메모리에 계속 상주하면서 처리하는 것이 아니라, 특정 데몬이 여러 데몬을 관리하면서 서비스 요청이 들어왔을 때 관련 프로세스를 메모리에 상주시키는 방식, standalone 방식보다 메모리 관리가 더 효율적이다.
(6) top : 리눅스 시스템의 운영 상태를 실시간으로 모니터링하거나 프로세스 상태를 확인할 수 있다. 동작중인 프로세스를 종료, 우선순위 변경, 메모리 사용률을 확인할 수 있지만, 디스크 사용률을 확인할 수는 없다.
( top 실행상태에서 프로세스와 CPU 항목을 on/off 하는 명령은 t이다. )
ex) top -d 1 -p 8080* d 옵션을 사용하여 1초 간격으로 상태 갱신, 프로세스 상태 뿐만 아니라 CPU, 메모리, 부하 상태 등을 확인할 수 있다.
(7) nohup : 프로세스가 중단되지 않고 백그라운드로 작업을 수행할 수 있게 한다. 데이터 압축 해제같은 실행이 오래 걸리는 프로세스들에 대해 nohup으로 처리할 수 있다.
* 실행한 명령을 자동으로 백그라운드로 보내지 않고, 사용자가 명령행 뒤에 &를 명시해야한다.
* 실행중인 프로세스의 표준 출력과 에러는 'nohup.out' 라는 파일을 생성하여 기록한다.* cron을 이용해서 시스템 운영에 필요한 작업을 예약할 때는 /etc/crontab
(8) nice : 프로세스가 실행될 때 실행 우선순위를 조정 (NI값 변경)
* 큰 프로그램을 컴파일 할 때와 같이 CPU나 메모리를 많이 쓰게 될 경우, 시스템 속도를 저하시키기 때문에 다른 프로세스에게 우선순위 값을 줄 때 사용
* 기본 nice 값은 보통 0으로 시작하며, -20 ~ 19 까지 순위 값을 조정할 수 있다.
* NI 값이 적을수록 우선순위가 높고, 기본값은 0이며, -20 ~ 19까지이다.
* nice 명령어 사용시 값을 지정하지 않으면 기본적으로 NI 값이 10이 지정된다.
* 일반 사용자는 nice값을 증가시킬 수 밖에 없고, root 는 nice 값을 감소시켜 우선순위를 높일 수 있다.
* renice : 실행중인 프로세스에 대한 nice 값을 변경, PID로 우선순위를 조정하고, 기존의 프로세스 우선순위값을 추가없이 수정한다.2) 데몬(Daemon) : 리눅스 시스템이 부팅 시 자동으로 실행되는 백그라운드 프로세스
- 메모리에 상주하면서 사용자의 특정 요청이 오면 즉시 실행되는 대기 중인 서버 프로세스
- 주기적이고 지속적인 서비스 요청을 처리하기 위해 실행된다.
- 사용자들은 이 프로세스들을 볼 수 있는 권한은 없고, root 계정이 있다.* pstree : 프로세스의 상관관계를 트리 형태로 출력해주는 명령어
옵션
-a : 지정한 인수까지 출력
-h : 현재 프로세스와 부모 프로세스를 하이라이트 형태로 출력
-c : 중복된 프로세스도 모드 출력
-H pid : 지정한 pid의 프로세스와 부모 프로세스를 하이라이트 형태로 출력* SIG
1) SIGHUP : 터미널과 연결이 끊어졌을 때 / 재시작
2) SIGINT : 종료, Ctrl + C
3) SIGKILL : 프로세스 강제 종료 시
4) SIGTERM : kill 시스템 호출 시
5) SIGTSTP : Ctrl + Z, 포그라운드로 실행 중이던 프로세스를 Suspend로 전환반응형'자격증 > 리눅스 마스터' 카테고리의 다른 글
리눅스마스터2급 정리 005. 소프트웨어 설치,개념 및 사용법 (0) 2020.06.25 리눅스마스터2급 정리 004. 에디터의 종류, 에디터 활용 (0) 2020.06.25 리눅스마스터2급 정리 002. Shell의 개념 및 종류 (0) 2020.06.25 리눅스마스터2급 정리 001. 파일 시스템 및 관련 명령어 (0) 2020.06.25 리눅스마스터2급 정리 000. 시험 과목 및 합격 기준 (0) 2020.06.13