2019. 3. 15. 23:00ㆍ개발로그/리눅스
[ 리눅스 마스터 2급 실기 ]
4.프로세스
2019-03-15
목록
1. 파일 유형 / 파일 허가권
2. 파일 시스템
3. 셸
4. 프로세스
5. 프로그램 설치
6. 프린트 / 스캐너
7. XWindow
8. Network
프로세스
(가장 먼저 실행 되면 프로세스는 init 이고 PID는 1이다.)
fork와 exec
fork() 함수 [복제하는 방식]
exec() 함수 [덮어씌우는 방식]
데몬
standalone 데몬 : 단독 실행 방식
inted 데몬 : (슈퍼데몬) 여러가지 서비스를 제어하고 관리
inetd 타입 데몬 : Telnet, FTP 등의 데몬들이 inetd 타입 데몬에 해당
데몬 종료 방법
/etc/init.d/데몬/stop
/etc/rc.d/init.d/데몬 stop
service 데몬 stop
시그널
SIGHUP : 1 : 터미널 연결이 끊겼을 때
SIGINT : 2 : CTRL+C 입력 시 -> [BG 에서 FG]
SIGQUIT : 3 : CTRL+W 입력시
SIGKILL : 9 : 프로세스 강제 종료 시
SIGTERM : 15 : KILL 명령 호출 시
SIGTOP : 19 : SIGOUT 시그널을 받을때 까지(정상종료)
SIGTP : 20 : CTRL+Z 입력시 -> [FG 에서 BG]
프로세스 관련 명령어
ps : 현재 실행중인 프로세스의 상태를 보여주는 명령어
-a (all) : 현재 실행중인 모든 프로세스
-e : 모든 프로세스 정보
-u (user) : 사용자 이름과 프로세스 시작 시간 출력
-x : 접속된 터미널 뿐만 아니라 사용되고 있는 모든 프로세스
-l (list) : 자세한 정보 출력
ps에 aux실행시 STAT메뉴
P : 수행가능 / 수행 중
R (run) : 현재 실행상태
S (sleep) : 잠든 상태
D : I/O 작업이 끝나기를 기다리면서 정지
T (Stop) : 정지상태
Z (zombie) : 좀비 프로세스 작업 종료 후 회수되지 않아 메모리에 적재
pstree
(실행 중인 프로세스를 트리구조로 보여줌)
p (PID) : 프로세스 ID 표시
n : PID 를 정렬
a (all) : 인자값을 포함한 모든 정보
jobs
(작업 상태를 표시)
l (list) : 프로세스 그룹 ID를 static
l (List) : 프로세스 그룹ID를 stat 필드 앞에 표시
n : 프로세스 그룹 중 대표 PID 표시
p (pid) : PID를 한 줄씩 표시
+는 현재 작업 -는 앞으로 실행될 작업(대기)를 나타낸다
BG(백그라운드) 와 FG(포어그라운드)
[bg &] 와 [fg &] 만 알면 됨
kill
(프로세스 종료)
l (list) : 시그널 종류 나열
s (singal) : 전달한 시그널의 종류 지정
1 : HUB, 프로세스 재시작
9 : 프로세스 강제 종료 (시험에 많이 나옴
killall
(같은 데몬의 여러 프로세스를 한번에 종료)
g (group) : 그룹을 지정하여 프로세스를 종료
i : 종료 전 확인 메세지 표시
l (list) : 시그널 목록 표시
v : 상세정보
nice
(프로세스 사이의 우선순위 확인)
n 조정수치 : 명령의 우선권에 조정수치를 더함 (양수값 : -, 음수값 :--)
*NI값 범위는 -20(가장 높음)~ 19(가장 낮음)
*디폴트는 10
*일반 사용자는 증가만 가능, root가 감소로 우선순위를 높일 수 있음
renice
(우선 순위를 변경)
nice는 더하기 방식이라면 renice는 바로 덮어씌워버림
renice는 양수값에 사용X
p (PID) : PID 지정
u (USER) : 사용자명 지정
g (gid) : GID 지정
top
(리눅스 운영 상태를 실시간으로 모니터링 하거나 프로세스 상태 확인)
d (deplay) 시간 : 실시간 화면 출력 시간 지정 (초단위)
p (PID) : 모니터할 프로세스 ID 지정
***top이 실행된 상태에서 다양한 명령 입력
? : 도움말
t : CPU ON/OFF : 좀비 프로세스 정보 ON/OFF
n 수치 : 지정된 개수만큼의 프로세스만을 화면에 표시
r 조정치 : renice값을 변경하여 실행 우선순위 조정
k PID : 지정된 PID 종료 (kill -p PID와 동일한 기능
q (quit) : 종료
nohup
(프로세스가 중단되지 않고 백그라운드로 작업을 수행할 수 있게 하며, 뒤에 &을 명시한다.)
*실행중인 프로세스의 표준 출력 결과는 'nohup.out'이라는 파일을 생성하여 기록한다.
*작업 디렉터리에 쓰기가 불가능할 경우 &HOME/nohup.out 파일을 자동 생성
cron
(주기적으로 반복되는 일을 자동적으로 실행할 수 있게 설정)
*데몬 서비스는 crond이며 관련 파일은 /etc/crondtab 이다.
l (list) : crondtab 에 설정된 내용 출력
e (edit) : crontab 을 작성하거나 수정
r (remove) : crontab 내용을 삭제
u (user) : 특정 사용자의 일정 수정
파일 /etc/aaa를 매주 화요일과 목요일에 오전 4시에 실행한다.
> /etc/crontab에 * 4 * * 2.4 /etc/aaa 를 추가하면 된다.
**에디터 종류**
Pico : Aboil Kasar가 개발한 유닉스기반의 에디터
[메모장가 유사한 인터페이스/ GNU에서 Pico 복제 버전인 nano을 개발]
Emacs : 리차드 스톨만이 매크로 기능이 있는 텍스트 교정및 편집기로 개발
[LISP에 기반을 둔 환 경 설정 언어를 가지고 있음/ 다양하게 사용]
vi : 빌조이가 초기 BSD 릴리즈에 포함될 편집기로 만들었다.
[유닉스에 기본적으로 포함]
vim : 브함 무네나르가 만든 편집기
[유니코드를 비롯한 다국어 지원,문법 검사 기능 지원]
gedit : 그놈 데스크톱 환경용으로 개발된 자유 소프트웨어 편집기
[여러 os 지원 가능, x윈도우에 맞춰서 개발]
** vi 에디터 사용법(편집모드, 명령모드, 입력모드로 구성되어있고 초기화면은 명령모드로 **
@입력 모드 전환
a : 커서 뒤에 입력
A(대문자는 더 큰 행위를 함) : 줄의 끝에 입력
i : 현재 문자 앞에 입력
I : 줄의 시작에 입력
o : 현재줄 밑에 줄에 입력
O : 커서가 있는 줄 위에 입력(소문자랑 반대개념)
@편집모드에서 저장 및 종료 환경 설정
wq : 저장하고 종료
q : 종료
q! : 강제 종료
wq! : 강제 저장후 종료
set nu : 줄번호 표시 (se nu로 줄여도됨)
set nonu : 번호 표시 해제 (se no로 줄여도됨)
set ai : 자동 들여쓰기
@명령모드에서 삭제,복사 붙여넣기
x와d가 있으면 삭제
y가 있으면 복사
p가 있으면 붙여넣기
※숫자 dd 또는 숫자 yy를 하면 "숫자" 줄만큼 삭제 또는 복사가 됩니다.
출처
개발공방
'개발로그 > 리눅스' 카테고리의 다른 글
리눅스-[#리눅스마스터 2급 실기] 5.프로그램 설치 (0) | 2019.03.16 |
---|---|
리눅스-[#리눅스마스터 2급 실기] 3.셸 (0) | 2019.03.15 |
리눅스-[#리눅스마스터 2급 실기] 2.파일 시스템 (0) | 2019.03.15 |
리눅스-[#리눅스마스터 2급 실기] 1.파일유형/파일 허가권 (0) | 2019.03.15 |
리눅스-[#리눅스마스터 2급 실기] 0.목록 (0) | 2019.03.15 |