1. 유닉스의 프로세스에는 어떤 종류가 있는지 설명하시오.
   ㆍ데몬(daemon) 프로세스 : 유닉스 커널에 의해 실행되고 특정 서비스를 제공
   ㆍ부모(process) 프로세스 : 다른 프로세스를 만드는 프로세스
   ㆍ자식(child) 프로세스 : 부모 프로세스에 의해 만들어지는 프로세스
   ㆍ고아(orphan) 프로세스 : 결과를 돌려주기 전에 부모 프로세스가 먼저 종료되어 버린 자식 프로세스
   ㆍ좀비(zombie) 프로세스 : 이미 사용 중인 모든 자원을 반납했지만 부모 프로세스로부터
                             작업 종료에 대한 승인을 받지 못한 상태의 프로세스

2. guest 사용자가 실행시킨 프로세스를 모두 찾기 위해 사용할 수 있는
   명령에는 무엇이 있는지 설명하시오.
   ps : 프로세스 정보를 볼 수 있는 대표적인 명령어로, 프로세스 정보를 보여줌
   
-e : 시스템에서 실행 중인 모든 프로세스 정보 출력
   -f : 각 프로세스에 대한 자세한 정보 출력

   ps -ef | grep guest

3. 포그라운드 작업과 백그라운드 작업의 차이를 설명하시오.
   
포그라운드 방식으로 작업을 하면 명령을 한 번에 하나씩 실행시키므로 동시에 여러 개의
   프로세스를 실행시킬 수 없다. 반면, 백그라운드 처리는 동시에 여러 개의 프로세스를 실행
   시킬 수 있다. 백그라운드 방식으로 명령을 실행시키면 명령의 처리와 관계없이 곧바로
   프롬프트가 출력되어 사용자는 다른 작업을 계속할 수 있다.

4. 현재 실행 중인 포그라운드 작업을 백그라운드 작업으로 전환시키는
   방법을 아래 예를 사용해 설명해보시오.

$ find / -name test
   ^Z 또는 stop [%작업번호] : 포그라운드 작업을 잠시 중단
   bg [%작업번호] : 해당 작업을 백그라운드 작업으로 전환

   실행 중인 포그라운드 작업을 ^Z 명령으로 잠시 중단 시키고,
   bg 명령으로 백그라운드로 작업을 전환한다.

5. 현재 실행 중인 백그라운드 작업을 포그라운드 작업으로 전환시키는
   방법을 아래 예를 사용해 설명하시오.
$ jobs
  [1] +  실행 중                      sleep 100
   fg [%작업번호] : 해당 작업을 포그라운드 작업으로 전환
   fg %1

6. who 명령과 w 명령의 차이점을 설명하시오.
   ㆍwho : 사용자의 단말기 번호, 로그인한 시간 정보를 보여줌
   ㆍw : 시스템 정보와 사용자 정보를 함께 보여줌

※ 다음 질문에 맞는 적당한 명령을 ps -f 명령의 결과가 아래와 같을 때,
   7번~9번 물음에 답하시오.

$ ps -f
    UID    PID   PPID  C     STIME  TTY      TIME  CMD
  user1  15761  15721  0  18:14:17  pts/1    0:00  vi test.c
  user1  15721  15710  0  18:14:09  pts/1    0.00  sh
  user1  15710  15701  0  18:12:59  pts/1    0.00  -ksh

7. 프로세스의 부모-자식 관계를 설명하시오.
  
부모(process) 프로세스 : 다른 프로세스를 만드는 프로세스
  
자식(child) 프로세스 : 부모 프로세스에 의해 만들어지는 프로세스
  
PPID : 부모 프로세스 번호
   PID : 프로세스 번호

   15701 → 15710(ksh) → 15721(sh) → 15761(vi test.c)
   15761(vi test.c)의 부모 프로세스는 15721(sh)
   15721(sh)의 부모 프로세스는 15710(ksh)
   15710(ksh)의 부모 프로세스는 15701
  
8. vi test.c 프로세스를 강제로 종료시키는 과정을 순서대로 설명하시오.
   kill : 인자로 지정한 프로세스에게 시그널을 전달
  
-9 : 프로세스를 강제로 종료 (시그널)
   kill -9 15761

9. sh 프로세스와 vi test.c 프로세스를 함께 종료시키기 위한 가장
   
간단한 명령은 무엇이며, 그 이유를 설명하시오.
   kill : 인자로 지정한 프로세스에게 시그널을 전달
  
-9 : 프로세스를 강제로 종료 (시그널)
   kill -9 15721
   15721(sh)의 자식 프로세스는 15761(vi test.c) 이므로
   부모 프로세스인 15721(sh)를 강제로 종료하면 자식 프로세스인
   15761(vi test.c)도 함께 종료된다.

10. 아래와 같이 백그라운드로 실행 중인 작업이 3개가 있다.
    이중 3번 작업을 종료시키는 명령을 기술하시오.

$ jobs
[1] +  실행 중                      sleep 100
[2] -  실행 중                      find / -name test
[3]    실행 중                      sleep 300
    kill : 인자로 지정한 프로세스에게 시그널을 전달
    kill %3

11. find / -name test 명령이 로그아웃한 다음에도 계속 동작하도록
    실행시키는 명령을 기술하시오.
     nohup 명령 & : 로그아웃을 한 뒤에도 백그라운드 작업을 계속 실행시킨다.
     nohup find /-name test &
2007/11/09 20:06 2007/11/09 20:06

Trackback URL : http://mysilpir.net/trackback/274

Leave a comment

« Previous : 1 : ... 53 : 54 : 55 : 56 : 57 : 58 : 59 : 60 : 61 : ... 270 : Next »

블로그 이미지

일상의 이야기를 나누는 공간입니다.

- 실피

Calendar

    «   2009/01   »
            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

Total 157607 hit (Today 52, Yesterday 185)

Admin Write Post