본문 바로가기

linux

6. 프로세서 관리

728x90
반응형

6. 프로세서 관리

*프로세서 관리 명령어

1. ps 명령어

2. top 명령어

3. kill 명령어

4. jobs 명령어

 

 

jobs 명령어

" 동작 중인 작업의 상태를 확인하는 명령어"

:

$ jobs 옵션

-상태 정보 4가지

1. running :  실행중

2. stopped: 일시중단

3. Done : 종료

4. terminated : 강제종료

 

테스트:

vi hhh.txt 열어서

select ename,sal

from emp

where

까지 쓰고

esc 누른다음에

컨트롤+z 하면

 

 

stopped 것을 있다.

 

설명:

[1]           +               Stopped         vim hhh.txt

                                                       

job번호    현재job        일시정지           동작중인 job

 

 

$ jobs 해보면 현재 진행중인 작업이 나타난다

jobs: 동작중인 작업의 상태를 확인하는 명령어

 

[orcl:~]$ jobs

[1]+  Stopped                 vim hhh.txt

 

 

백그라운드 sar 작업 시켜보면

 

[orcl:~]$ sar 1 1000 >> sar_20181220.txt &

[2] 27245

[orcl:~]$ jobs

[1]+  Stopped                 vim hhh.txt

[2]-  Running                 sar 1 1000 >> sar_20181220.txt &

 

+ - 나눠지는 있다.

 

+ 현재작업이라고 위에 설명했었다

$ fg 수행시키면 (foregroud )

 

fg : 현재 job 으로 접속하는 명령어

 

 

아까하던 작업의 vi 창이 뜬다.

 

 

 

 

문제118.

jobs 명령어를 수행하면 아래와 같이 결과가 출력되게 상황을 만드시오!

 

[orcl:~]$ jobs

[1]   Stopped                 vim hhh.txt

[2]   Running                 sar 1 1000 >> sar_20181220.txt &

[3]-  Stopped                 vim hhh2.txt

[4]+  Stopped                 vim hhh3.txt

 

열심히 vi 해서 중단시키면 됩니다

 

 

 

문제119.

위의 일시중단된 3 job 으로 fg 하려면 어떻게 해야 하는가??

( 한번 껐다켜서 5 )

 

설명:

+ : 현재 job

       - : 현재 job 이전에 현재 job 이었던 job

 

 

 

 

문제120.

5 job fg 하고 vi 작업했던 작업을 정상적으로 저장하고 나오시오

 

$ fg 5

들어가서 저장하고 정상종료 시키면 없어짐

 

 

 

 

top 명령어

"지금 현재 작동중인 프로세서들의 cpu 사용율과 메모리 사용율을 확인하는 명령어"

 

 

 

문제121.

터미널창을 하나 열고 oracle 접속해서 악성sql 하나 수행하시오

$sqlplus / as sysdba

 

top 통해 창에서 cpu 열심히 돌아가는 있다.

 

 

ps 명령어

"현재 시스템에서 수행되고 있는 프로세서의 정보를 표시하는 명령어"

예제:

$ ps 옵션 프로세서 아이디

 

옵션:

-e : 현재 실행중인 모든 프로세서

-f : 실제 유져명, 개시시간등을 표시

-l : 프로세서의 상태, 우선도등과 같은 상세한 정보

-p : 프로세서 아이디

 

 

문제122.

현재 리눅스 시스템에서 실행중인 모든 프로세서를 출력하시오

$ps -ef

 

 

 

문제123.

터미널 창을 하나 열고 sar 1 10000 명령어를 수행하시오

 

첫번째 창에서

$ ps -ef 하면

3번째 창에서 sar 1 10000 걸은걸 확인할 있다

oracle 옆에 있는게 프로세서 번호

27623

 

이것을

$ ps -p 27623 하면

 

 

 

[orcl:~]$ kill -9 27623

sar 돌아가던 창에 kill 뜨는 있다.

 

 

문제124.

지금 죽은 터미널 창에서 vi 편집기 명령어로 아래의 작업을 수행하고 있으시오!

$ vi ggg.txt

i

select ename, sal

(컨트롤 제트 하지말고 vi 켜져있는 상태에서! 그래야 나중에 killed 있음)

 

 

 

 

문제125.

지금 작업을 vim 으로 수행하고 있는 프로세서들을 출력하시오

 

[orcl:~]$ ps -ef | grep vim

oracle   27670 27586  0 10:35 pts/3    00:00:00 vim ggg.txt

oracle   27680 26969  0 10:36 pts/1    00:00:00 grep vim

 

 

$ ps -ef | grep vim

근데

grep vim 해서 grep vim 자신까지 나온다.(우리가 원하는건 작업중단된거 찾는거)

이것을 해결하기 위해

 

[orcl:~]$ ps -ef | grep vim | grep -v grep

oracle   27670 27586  0 10:35 pts/3    00:00:00 vim ggg.txt

 

$ ps -ef | grep vim | grep -v grep

설명: -v 검색안되게 하라는 명령어다

 

 

[orcl:~]$ kill -9 27670

 

그러면 ggg.txt 켜진 vi 창에서 kill 이라고 뜬다.

 

 

 

 

 

 

kill 명령어

$ kill -9 프로세서 번호

옵션:

-9 : 프로세서를 죽인다

-6 : 프로세서를 중단시킨다

-2 : 프로세서에게 종료하도록 지시한다

 

 

문제126.

kill 옵션 -2 옵션을 테스트 하시오

 

-터미널창 1

$ sar 1 10000

 

 

-터미널창 2

$ ps -ef | grep sar <---프로세서 번호 확인

$ kill -2 프로세서 번호

 

 28059

 

[orcl:~]$ ps -ef | grep 28059

oracle   28059 27586  0 11:07 pts/3    00:00:00 sar 1 10000

oracle   28060 28059  0 11:07 pts/3    00:00:00 sadc 1 10001 -z

oracle   28075 26969  0 11:09 pts/1    00:00:00 grep 28059

[orcl:~]$ kill -2 28059

 

***kill -2 종료라서 killed 상태표시가 안뜬다.

 

***kill -6 하면 Aborted 뜨는데 '유산된,잃은' 이라는 .

 

 

 

 

 

 

728x90
반응형