반응형
<데몬 프로세스>
- 유닉스 커널에 의해 실행
- 특정 서비스 제공위해 존재(ex: http 프로세스)
<부모 프로세스>
- 다른 프로세스를 만듬
- 부팅 후 실행되는 1번 프로세스 오 모든 프로세스가 부모 프로세스를 갖음
<자식 프로세스>
- 부모 프로세스에 의해 만들어진 프로세스
- 작업을 마친 뒤 부모 프로세스에게 결과를 전달하고 종료됨
<고아 프로세스>
- 자식 프로세스가 종료되기 전에 부모 프로세스가 종료된 경우
- 1번 프로세스가 부모 프로세스가 됨
<좀비 프로세스>
- 자식 프로세스가 종료했지만 프로세스 테이블 목록에 남아있는 경우
- 부모 프로세스가 종료 정보를 읽어가기를 기다리는 것으로 종료 정보를 제대로 처리하지 않아 발생
- 프로세스 목록에 defunct 프로세스라고 나오기도 함
- 이로 인해 프로세스테이블이 꽉 차 다른 프로세스가 실행 할 수 없게 될 수 있음
- kill 명령으로 제거 안됨. SIGGHLd 시그널을 보내거나 부모 프로세스를 종료하여 처리(새로운 부모(init 프로세스)가 정리).
<프로세스 관리 명령>
- ps (옵션) : 프로세스 목록 보기
- (-e) : 시스템에서 실행 중인 모든 프로세스 정보 출력
- TTY가 ?인 프로세스 : 특정 터미널에서 실행되지 않은 프로세스(대부분 데몬 프로세스)
- (-f) : 프로세스의 자세한 정보 출력
- UID : 실행시킨 사용자
- PID : 프로세스 번호
- PPID : 부모 프로세스 번호
- C : 우선순위
- STIME : 프로세스의 시작 시간(hh:mm:ss)
- TTY : 프로세스가 실행된 단말기 종류 및 번호
- TIME : 프로세스 실행 시간
- CMD : 프로그램 이름(명령)
- (-u 사용자ID) : 해당 사용자에 대한 모든 프로세스 정보 출력
- ps -ef | grep 명령 : 명령을 통해 프로세스 검색
- pgrep (옵션) 패턴 : 패턴과 일치하는 프로세스 정보 출력(솔라리스만 제공)
- (-x) : 패턴과 정확히 일치하는 프로세스 출력
- (-n) : 패턴을 포함하고 가장 최근의 프로세스 출력
- (-u 계정ID) : 해당 사용자의 모든 프로세스 출력
- (-l) : PID와 프로세스 이름 출력
- kill (시그널) 프로세스 번호... : 해당 프로세스 종료
- (-9) : 강제종료
- (-15) : 관련 파일 정리 후 종료(기본 값)
- pkill 프로그램 이름(명령) : 해당 프로세스 종료
- prstar (옵션) : 동작 중인 모드 프로세스르 주기적으로 갱신하여 출력
- (-a) : 프로세스와 사용자 구분하여 출력
- (-c) : 중복 출력하지 않고, 아래쪽에 새롭게 출력
- (-s 정렬)
- cpu :
- pri :
- rss :
- size :
- time :
- (-u 사용자ID) : 해당 사용자와 관련된 프로세스 정보 출력
- q 입력하여 종료
- top : prstar의 요약 정보를 상단에 출력하고 하단에 각 프로세스 정보 출력
- q 입력하여 종료
<포그라우드 / 백그라운드 프로세스>
- 포그라운드 처리(포그라운드 작업)
- 명령이 실행되어 결과가 출력될 때까지 프롬프트가 출력되지 않아 명령을 입력할 수 없는 처리
- 실행 결과와 오류 메시지의 출력방향을 전환하여 조용하게 작업 가능
- 백그라운드 처리(백그라운드 작업)
- 명령의 처리가 끝남과 상관없이 곧바로 프롬프트가 출려되 다른 작업 가능
- 여러 프로세스를 동시에 실행시킬 수 있음
- 명령 마지막에 &(앰퍼샌드)기호 추가하여 적용
- 다른 작업 중 백그라운드 작업이 종료되면 enter 입력시 종료 메시지 출력
- 여러 터미널 창을 사용할 경우 xterm 명령을 백그라운드로 실행할 것
- jobs (옵션) : 실행 중인 백그라운드 작업 출력
- (%번호) : 해당 버호 작업 정보 출력
- (%+ / %%) : 작업 순서가 +인 작업 정보 출력
- (%-) : 작업 순서가 -인 작업 정보 출력
- 출력항목
- 작업 번호([3])
- 작업 순서(+: 가장 최근 접근한 작업, -: + 작업 바로 전에 접근한 작업, 공백: 그 외 작업)
- 상태(Running, Done, Terminated, Stopped)
- 명령
- 작업 전환
- ^Z / stop (%작업 번호) : 포그라운드 작업 중지(종료X)
- bg(%작업 번호) : (해당 작업을) 백그라운드 작업으로 전환
- fg(%작업 번호) : (해당 작업을) 포그라운드 작업으로 전환
- 현재 실행중인 포그라운드 작업은 중지시킨 뒤 전환해야 함
- 작업 종료
- 포그라운드 작업은 Ctrl+C으로 대부분 종료
- kill 명령 사용(PID 대신 %작업번호 사용 가능)
- 로그아웃 후 백그라운드 작업 유지
- nohup 명령& : 로그아웃 후에도 해당 작업 계속 실행
<사용자 정보>
- users : 현재 시스템에 로그인 한 모든 사용자명 출력
- who (옵션) : 시스템을 사용중인 사용자 정보 출력
- (-q) : 사용자명만 출력
- (-H) : 항목 제목을 포함해서 출력
- (-b) : 마지막 재부팅 일시 출력
- w (사용자명) : 현재 작업 정보 출력
- who am i : who 명령 결과중 자신의 정보만 출력
- whoami : 현재 사용자의 ID 출력(BSD 계졍 명령)
- id (옵션) : 사용자의 로그인 ID 및 그룹 정보 출력(uid(사용자번호, gid(그룹번호) 포함)
- (-a) : 모든 그룹 정보 출력(입력하지 않을 경우 기본 그룹만 출력)
- su (-) (사용자명) : 사용자 전환
- (-) : 전환하는 사용자의 초기화 파일을 실행시켜 작업 디렉토리도 변경
- 사용자면 지정하지 않을 경우 root 사용자로 전환
반응형
'유닉스, 리눅스' 카테고리의 다른 글
[유닉스/리눅스 기초]통신 (0) | 2016.09.13 |
---|---|
[유닉스/리눅스 기초]파일 아카이브 및 압축 (0) | 2016.09.13 |
[유닉스/리눅스 기초]파일 / 디렉토리 검색 (0) | 2016.09.13 |
[유닉스/리눅스 기초]파일 속성 및 접근 권한 (0) | 2016.09.13 |
[유닉스/리눅스 기초]쉘 기본 사용법 (0) | 2016.09.13 |
댓글