■ 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 뜨는데 '유산된,잃은' 이라는 뜻.
'linux' 카테고리의 다른 글
7-1.쉘스크립트 for문 (0) | 2019.04.03 |
---|---|
7. 쉘스크립트 작성법 (0) | 2019.04.03 |
디스크 관리[df,du,sar,한글 input, 리눅스 str] (0) | 2019.01.02 |
권한관리[chmod,chown.chattr,권한관리 단축키, 단축어, root, chattr +i, whatis chmod] (0) | 2019.01.02 |
vi 편집기[vi, view, vi -r, vi 커서이동,vi 명령어, 디버깅 -x] (0) | 2019.01.02 |