- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
드럼치는 프로그래머
[리눅스마스터 2급] 1-3. 프로세스 관리 본문
1. 리눅스 운영 및 관리
(1) 파일시스템 관련 명령어
(2) Sell
(3) 프로세스 관리
(4) 에디터
(5) 소프트웨어 설치
(6) 장치 설정
2. 리눅스 활용
(1) X윈도
(2) 인터넷 활용
(3) 리눅스 신기술
========================================================================================
1. 리눅스 운영 및 관리
(3) 프로세스 관리
명령어
*priority: 프로세스가 들어온 프로세스의 우선순위를 보여줌.*nice: 우선순위 설정. 기본적으로 아무런 옵션없이 nice를 사용하면 상속받은 현재 순서의 우선권을 출력
수치가 낮을수록 높은 우선순위를 갖게된다.
(renice: 이미 실행된 프로세스의 우선순위를 바꿔주는 명령어)
*ps: 프로세스 상태를 알기 위한 명령어
#ps u: 사용자와 프로세스번호(PID)등이 출력됨
r옵션: 현재 실행상태에 있는 프로세스만 보고자 할 경우 사용.
-u옵션: 사용자이름과 프로세스가 시작된 시간 출력.
지정한 사용자가 실행한 프로세스만 보고싶을 경우 사용하는 옵션.
-j옵션: 작업에 관련된 ID를 출력한다.
-a옵션: 모든 프로세스 나열
-w옵션: 출력결과를 생략하지 않고 출력
-f옵션: 프로세스 간 상관관계를 트리구조로 나타냄.
(PID: 프로세스마다 주어지는 번호, RSS:프로세스가 사용하는 메모리의 크기
WCHAN: 프로세스가 실행하고 있는 커널루틴, STAT:실행되고 있는 프로세스 상태)
*STAT( R:실행 중 혹은 실행될 수 있는 상태, S:sleep, I:idle 비활동상태 T:정지된 상태.서스펜드)
*fork: 리눅스에서 프로세스를 복제하는 기능.
사용자가 새로운 프로세스를 생성하는 유일한 방법.
*fsck: 예상치못한 시스템 종료시 파일시스템의 불일치성을 체크
(-v옵션: 명령이 실행되는 과정을 화면으로 출력한다.)
*uname: 시스템 이름과 다른 정보를 보고자 할때
*shutdown -r now: reboot 명령과 같음 [예] shutdown -r +5 : 5분후에 시스템 재부팅
*pstree: 프로세스의 상관관계를 보고자 할때
*jobs: 백그라운드로 수행중인 작업확인
*top: 시스템의 프로세스 수, 사용중인 데몬, CPU프로세스의 상황 등을 보여줌.
*cron프로그램은 시스템이 부트될 때 한번만 시작된다. 개별 사용자는 cron을 직접 실행할 권한이 없다.
또한 시스템 관리자는 명령의 이름을 입력하여 cron을 실행해서는 안된다.
[예] 5 10 6 5 *echo Happy birthday : 5월 6일 10시 5분에 echo Happy birthday를 실행한다.
[예] *****echo Excuse me !!One Minute
>dev/tty1
: Excuse me !!One Minute을 매 분 터미널 장치 dev/tty1에 보낸다.
(시분일시 순서)
*nohup: 부모프로세스가 죽거나 종료되어도 자식프로세스는 백그라운드 모드에게 계속 실행하도록 함.
프로세스 특성
*프로세스 관리 블록에 저장되는 프로세스 관련 정보들이 유지하는 정보:프로세서가 할당받은 자원들의 리스트 및 이에대한 포인터. 프로세스 고유번호(PID)
*하나의 프로그램을 실행시키면 하나 이상의 프로세스가 생긴다.
*시스템 호출은 핵심으로 하여금 프로그램에 일부 서비스를 제공하도록 하는 서브루틴이다.
*프로세스는 실행 중인 프로그램이라고 할 수 있다. 커널에 등록되어 커널의 관리하에 있는 작업으로
이를 일반적으로 주기억 장치에서 실행중인 프로그램.
*리눅스 시스템에서 명령을 타이프하면 그 쉘은 명령의 실행을 관리한다.
*프로세스를 할당받은 상태, 즉 기억장치를 할당받은 상태: 프로세스의 실행상태일 때의 특성.
*프로세스를 요청하는 상태: 기억장치를 잃은 상태.
*많은 양의 CPU시간을 이용하는 프로세스들은 낮은 우선권을 갖는다.
*가장 낮은 수준에서 프로세스는 fork 시스템 호출에 의해 창출된다.
기타 기출문제
*임계영역 밖의 프로세서가 다른 프로세서의 임계영역 진입을 막아서는 안된다.
*파이프: 유닉스 환경하에서 프로세스 간 통신의 고전적인 방법.
*signal: 프로세스가 다른 프로세스에게 메시지를 보내기 위한 수단(프로세스간 통신수단)
HUP-1: Hangup (실행종료, 로그아웃하거나 모뎀접속 끊을때 발생)
KILL-9: kill(프로세스 강제종료)
SEGV -11: Segment Violation (허가되지 않은 메모리 영역 접근)
TERM -15: Termination(가능한 한 정상종료)
INIT -2: Interrupt(실행종료,Ctrl-c키를 누루면 발생)
TSTP -20: STOP(실행정지 후 다시 실행위해 대기, Ctrl-Z키 누르면 발생)
*시스템모드: 시스템 함수가 초기화될때 프로세스가 선택하는 모드
*대기: 프로세스들이 외부적인 사건을 기다리는 것.(S)
*exec 시스템호출: 프로세스가 지정된 파일을 실행할 수 있도록 해주는 것.
(exec: 하나의 프로세스가 다른 프로세스를 생성하여 원래 프로세스가 더이상 남아있을 필요 없을때)
*Swapping: 프로세스 관리 및 메모리 관리와 관련있음.
*init: 리눅스에서 실행되는 최초의 프로세스.
init가 실행되면 /etc/inittab 파일을 읽는데, 이 파일의 설정에 따라 프로세스들을 실행시킨다.
*좀비프로세스: 실행이 끝났는데도 종료되지 못하고 있는 프로세스.(z)
프로세서 테이블에 각각의 프로세서 아이디와 사용하는 자원을 올려놓는다.
[ex]운영중인 서버의 프로세스 확인과정에서 프로세스는 종료되었으나 부모프로세스는
해당 프로세스가 종료되었음을 인지하지 못하고 defunct로 표현되어 있음.
*프로세스 교착상태: 두 개 이상의 프로세서가 동시에 서로 사용하는 자원을 요구하려 할 때 발생
(자원에 대한 배타적 사용이 원인)
*프로세스 스케쥴링: 프로세스의 시스템을 향상시키기위한 목적
*데몬: 프로세스들 중에는 특별한 이름을 가진 것들이 있음. 데몬 프로세스는 백그라운드로 실행되면서
서버역할을 하거나 그 기능을 도와주는 프로세스를 가리키는 말이다.
(슈퍼데몬의 관리를 받지 않고 독립적으로 메모리에 계속 상주해있으면서, 클라이언트에게
서비스를 해주는 방식: standalone 방식)
- crond: 사용자가 지정한 프로그램을 특정 시간에 주기적으로 실행시켜 주는 표준 유닉스 데몬
- inet방식: 데몬을 운영하는 방식 중 하나로, 사용자의 요구가 빈번하지 않은 서비스들을
중심으로 이루어지며, TCP Wrapper를 이용하여 해당서비스 요청에 대한 로그기록
-inetd: 주로 인터넷 서비스에 이용되는 여러개의 데몬을 관리하는 슈퍼데몬의 이름.
*dev 디렉터리: 파일시스템중에서 주변장치 파일이 저장되어 있는 디렉터리
*리눅스에서 백그라운드 작업을 위해서는 실행 시 프로그램 이름뒤에 &를 붙인다.
*포그라운드로 실행되는 프로그램을 Ctrl -Z를 누르면 서스펜드된다.
*백그라운드를 포그라운도 전환하려면 fg, 포그라운드를 백그라운드로 전환하려면 bg
*RunLevel 1: 단일 사용자 모드/ RunLevel 3: 풀 멀티유저 모드
RunLevel 5: GUI환경으로의 부팅모드/ RunLevel 6: 재부팅모드
'★─License 's > ☆─리눅스마스터' 카테고리의 다른 글
[리눅스마스터 2급] 2-2. 인터넷활용 (0) | 2007.08.06 |
---|---|
[리눅스마스터 2급] 1-2. 쉘 (0) | 2007.08.06 |
[리눅스마스터 2급] 1-1. 파일시스템관련 명령어 (0) | 2007.08.06 |