UNIX&LINUX/AIX

[AIX BASIC] 7. 프로세스 제어 (Controlling Processes)

nineDeveloper 2014. 2. 3. 10:08
728x90
반응형

 

1. 프로세스 보기
 A. $ ps –f 명령어로 셸 상태 확인
 B. $ ps –ef 명령어를 쓰면 수행중인 모든 프로세스가 뜸
 C. 실습 결과

 
2. 프로세스 제어
 A. Foreground Processes : 처리 상태를 화면에 그대로 보여주는 방식
 B. Background Processes : 처리 상태가 화면에 출력이 되지 않음
 C. 예시 : Foreground Processes 방식으로 ls –R 명령어 수행 결과를 file.out 이란 이름의 파일로 저장하고 싶을 때


3. 프로세스 종료
 A. Foreground Processes : [Ctrl]+[c]를 누르면 작업이 취소 및 중단됨
 B. Foreground & Background Processes
  i. $ kill 명령어로 프로세스 종료 가능
  ii. $ kill [PID] : 신호 종료
  iii. $ kill -9 [PID] : 강제 종료

 

4. 신호
 A. 01 : hang 발생 시, hang에서 빠져 나올 때
 B. 02 : 작업을 cancel 시킬 때 ([Ctrl]+[c]와 동일)
 C. 03 : 작업에서 빠져 나갈 때 ([Ctrl]+[/]와 동일)
 D. 09 : 작업 수행에 상관없이 강제로 종료시킴
 E. 15 : 기본적인 프로세스 종료

 

5. 긴 프로세스 수행
 A. nohup 명령어 : 시스템이 Log Off 되었더라도 계속 프로세스를 수행시키는 명령어
  i. kill 명령어를 모두 무시함
  ii. nohup ls –R / > out 2> err.file
   1. / 디렉토리 안에 있는 모든 서브디렉토리의 파일들까지 파일 리스트를 출력하여 out 이란 이름을 가진 파일에 생성 및 저장, 에러가 있으면 err.file 이란 이름을 가진 파일에 생성 및 저장시킨다.
  iii. nohup ls –R / &
   1. / 디렉토리 안에 있는 모든 서브디렉토리의 파일들까지 파일 리스트를 출력하여 nohup.out 이란 파일로 생성 및 저장시킨다.
   2. 따로 파일 이름을 지정하지 않으면 nohup.out 이란 파일을 자동 생성 및 저장시킨다.
  iv. 예시
   1. 프로세스 상태를 확인하고, / 디렉토리 안에 있는 모든 서브디렉토리의 파일들까지 파일 리스트를 출력하여 file.out 이란 이름을 가진 파일에 생성 및 저장, 에러가 있으면 /dev/null 로 보내는 명령어를 입력한다.
   2. 작업이 수행되는 사이에 [Ctrl]+[z] 키를 누르고, logout 후에 다시 재로그인하여 프로세스 상태를 확인한다.
   3. 실습 결과

 
6. Korn Shell에서 Job Control 하기
 A. jobs 명령어 : Background에서 작동중인 모든 작업들의 리스트를 보이고, 프로세스들을 정지시킴
 B. [Ctrl]+[z] : Foreground 모드를 정지시킴
 C. fg % [Jobnumber] : Foreground에서 작업 수행
 D. bg % [Jobnumber] : Background에서 작업 수행
 E. 실습 결과
  i. / 디렉토리 안에 있는 모든 서브디렉토리의 파일들까지 파일 리스트를 출력하여 out 이란 이름을 가진 파일에 생성 및 저장, 에러가 있으면 errfile 이란 이름을 가진 파일에 생성 및 저장시키는 작업을 수행한 후에, jobs, fg %1, [Ctrl]+[z], bg %1, jobs 명령어를 순서대로 입력해보고, 마지막에는 kill %1 명령어로 작업을 정지시킨다.


   1. kill 명령어를 입력해도 적용이 되지 않는다면 한번 더 kill 명령어를 입력해보도록 한다.

 

7. 데몬 (Daemons)
 A. 절대 꺼지지 않는 프로세스
 B. 대표적인 예 : 프린터 작업 대기 – qdaemon으로 관리

8. 확인문제
 A. ps 명령어 옵션 중에, 현재 동작중인 command들을 모두 보여주는 옵션
  i. –f, -ef
 B. 일반 사용자는 다른 사용자의 작업을 끌 수 (있다/없다.)
  i. 없다. (사용자 자기 자신의 작업만 끌 수 있다.)
 C. 프로세스를 종료시킬 수 있는 가장 강력한 신호
  i. -9
 D. nohup 명령어를 쓰면 해당 작업이 계속 동작하는 이유
  i. 작업이 사용자 터미널에서 잠기지 않고, Log Off 되더라도 계속 작업한다.
 E. 절대 꺼지지 않는 프로세스
  i. Daemon

728x90
반응형