본문 바로가기
프로그래밍/CS

[유닉스 이론과 실습] 8장 연습문제

by 엽기토기 2020. 12. 23.
반응형

1. 유닉스의 프로세스에는 어떤 종류가 있는지 설명하시오.
데몬, 부모, 자식, 고아, 좀비

2. 유닉스의 고아 프로세스와 좀비 프로세스의 차이를 설명하시오.
고아: 실행도중에 부모 프로세스가 종료된 프로세스, 1번 프로세스를 새로운 부모로 가짐
좀비: 부모프로세스가 종료처리를 하지 않은 프로세스, 종료가 되었음에도 할당된 시스템 자원이 회수되지 않은 상태

3. user1 사용자가 실행시킨 프로세스를 모두 찾기 위해 사용할 수 있는 명령에는 무엇이있는지 설명하시오.
ps -u user1

4. user1 사용자가 실행시킨 모든 프로세스의 실행 날짜를 알아보려고 한다. ps 명령의 어느 옵션을 조합하여 사용하면 되는지 설명하시오.
ps -ef | grep user1

5. pgrep 명령을 사용하여 현재 실행중인 모든 bash를 검색한 결과와 ps 명령을 사용하여 현재 실행중인 모든 bash를 검색한 결과를 비교하여 차이점을 설명하시오.
pgrep은 프로세스 PID, ps는 프로세스의 자세한 정보 출력.

6. 포그라운드 작업과 백그라운드 작업의 차이를 설명하시오.
포그라운드: 사용자가 입력한 명령이 실행되어 결과가 출력될 떄까지 프롬프트가 출력되지 않아서 다른 명령을 입력할 수 없는 처리 방법
백그라운드: 명령의 입력이 끝나면 결과에 상관없이 바로 다음 프롬프트가 출력되어 다른 명열을 입력할 수 있는 처리 방법

7. 어떤 경우에 백그라운드 작업을 유용하게 사용할 수 있을지 설명하시오.
명령의 처리시간이 길어질 때, 다른 작업을 함께 진행해야할 때

8. 현재 실행 중인 포그라운드 작업을 백그라운드 작업으로 전환시키는 방법을 다음 예를 사용해 설명하시오.
\$ find / -name unix
ctrl+z  find 명령 중지 (포그라운드 작업을 중지시키고, 백그라운드의 중지된 목록으로 보냄)
bg [%작업번호] (현재 작업이나 특정 작업을 백그라운드로 전환시켜 실행)

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

10. find / -name unix 명령이 로그아웃한 다음에도 계속 동작하도록 실행시키는 명령은 무엇인지 답하시오.
nohup find / -name unix&

11. who 명령과 w 명령의 차이점을 설명하시오.
who: 시스템을 사용하고 있는 사용자의 정보를 출력
w: 로그인한 사용자 정보와 현재 하고 있는 작업정보를 출력

12. 시스템이 부팅한 날짜와 시간을 알기 위한 명령은 무엇인지 답하시오.
who -b

 
 
13. ps -f 명령의 결과가 아래와 같을 때, 프로세스의 부모-자식 관계를 설명하시오.
\$ 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 ksh
user1 15710 15701 0 18:12:59 pts/1 0:00 bash

15701 - 15710 - 15721 -15761

14. 13번에서 실행중인 프로세스 중 vi test.c 프로세스를 강제로 종료시키는 과정을 순서대로 설명하시오.
kill 15761
soft kill, 프로세스에게 SIGTERM 시그널을 보낸다. 프로세스 종료
kill -9 15761
kill로 종료되지 않을 경우 사용, sure kill, 로세스에게 SIGKILL 시그널을 보낸다. 즉시종료.

15. 다음과 같이 백그라운드로 실행 중인 작업이 3개가 있다. 이중 3번 작업을 종료시키는 명령을 기술하시오.
\$ jobs
[1]+ Running sleep 100
[2]- Running find / -name unix
[3] Running sleep 300

kill %3

16. user2 사용자가 user1 사용자로 전환하려고 한다. su user1 su - user1의 차이를 설명하시오.
su user1: user1 계정으로 변경
su -user1: user1의 초기화 파일이 실행되면서 작업 디렉토리도 사용자의 홈 디렉토리로 변경됨

반응형