반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 핸즈온 머신러닝
- 프로그래머스 가운데 글자 가져오기 python
- 가운데 글자 가져오기 파이썬
- 가운데 글자 가져오기 python
- docker 완전 삭제
- 나누어 떨어지는 숫자 배열 java
- 최단 경로 알고리즘
- m1 docker install
- 트리의 지름 자바
- 최소 스패닝 트리
- docker 삭제
- 트리의 지름 java
- 프로그래머스 나누어 떨어지는 숫자 배열 파이썬
- 빅데이터분석기사
- 코드업 1020 자바
- 프로그래머스 나누어 떨어지는 숫자 배열 자바
- 빅분기실기
- 프로그래머스 가운데 글자 가져오기 자바
- 프로그래머스 가운데 글자 가져오기 파이썬
- 청년 Ai Big Data 아카데미
- 최소 스패닝 트리 자바
- docker remove
- 가운데 글자 가져오기 java
- 코드업 1020 java
- codeup 1020 java
- 청년 AI Big Data 아카데미 13기
- m1 docker
- 가운데 글자 가져오기 자바
- codeup 1020 자바
- 나누어 떨어지는 숫자 배열 python
Archives
- Today
- Total
NineTwo meet you
[리눅스 기초] 프로세스 제어 및 작업 관리 본문
반응형
프로세스
프로세스는 실행된 프로그램을 의미합니다.
프로세스 종류
항목 | 설명 |
부모 프로세스 | 다른 프로세스를 생성 할 수 있는 프로세스 |
자식 프로세스 | 부모 프로세스로부터 만들어지는 프로세스 |
데몬 프로세스 | 일반적으로 사용자가 직접 실행시키지 않고 파일이름 끝에 d를 붙여서 사용 커널에 의해 구동되며 백그라운드에서 특정 서비스를 구성하기 위해 구동 |
고아 프로세스 | 자식 프로세스는 작업이 종료되면 부모 프로세스로 돌아가는데 돌아가기 전 부모 프로세스가 종료된 경우를 의미 init프로세스가 해당 프로세스가 종료될 수 있게 도움 |
좀비 프로세스 | 자식 프로세스가 종료를 위해 프로세스 리스트라 불리는 목록에서 종료 승인을 대기 하고 있는 상태의 프로세스 시스텝에 존재하는 리소스를 반납하지 않은 상태로리스트에 남아있는 프로세스를 의미 |
프로세스 확인
ps
ps [옵션]
ps 명령어 필드
필드 | 의미 |
PID | PID를 의미 |
TTY | 현재 터미널을 의미 |
TIME | 해당 프로세스가 사용하는 CPU 시간 |
CMD | 실행된 명령 이름 |
옵션 | 설명 |
-f | 상세한 정보를 출력 일반적으로 verbose라 불리는 코드 PPiD와STIME등의 추가정보 확인 가능 |
-e | 시스템상의 모든 프로세스 정보 출력 |
ps -f 필드
필드 | 설명 |
UID | 프로세스의 소유자ID |
PID | 프로세스의 ID번호 |
PPID | 부모 프로세스의 ID번호 |
C | 스케쥴링을 위한 CPU사용량 오래된 값으로 의미가 없는 필드 |
STIME | 프로세스의 시작 시간 |
TTY | 프로세스를 위한 단말기 제어 터미널 번호가 없이 ?로 출력되는 프로세스는 터미널에서 시작되지 않은 프로세스를 의미(데몬 프로세스) |
TIME | 프로세스에 대한 누적 실행 시간 |
CMD | 명령, 옵션, 아규먼트 |
pstree
부모 프로세스와 자식 프로세스의 관계를 트리 형태로 표현하는 리눅스에서 사용하는 명령어다.
ptree
ptree [옵션]
pstree와 마찬가지로 부모와 자식 프로세스의 관계를 트리 형태로 표현하지만 리눅스에서 사용하는 명령어로
프로세스의 이름만 출력하는 pstree와 다르게 UID도 같이 출력한다.
ptree 옵션
옵션 | 설명 |
-n | PID를 기준으로 정렬해서 출력 |
-a | 아큐먼트까지 같이 출력 |
-p | PID를 같이 출력 |
-u 사용자이름 | 특정 사용자에 대한 정보만 출력 |
-h | 현재 프로세스를 진하게 표시 |
특정 프로세스의 검색
ps -ef | grep [옵션] [옵션에 해당하는 조건 ex) 패턴 , UID, 특정 터미널 ,...]
pgrep옵션
옵션 | 설명 |
-x | 패턴과 정확하게 일치하는 PID정보 출력 |
-n | 패턴을 포함하고 가장 최근에 생성된 PID정보 출력 |
-U uid | UID가 일치하는 특정 사용자에 대한 정보 출력 |
-I | PID와 프로세스 이름출력 |
-t term | 특정 터미널과 관련한 프로세스 정보 출력 |
시그널
메모리에 존재하는 프로그램인 프로세스에 뭔가 발생했음을 알리기 위해 사용하는 것이 시그널이다.
시그널 목록을 확인하기 위해서는 kill -l 명령어를 사용해 모든 시그널의 종류와 시그널 이름을 확인할 수 있다.
#kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT
17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU
25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH
29) SIGIO 30) SIGPWR 31) SIGSYS 34) SIGRTMIN
35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4
39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12
47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14
51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10
55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6
59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX
자주 사용하는 시그널
시그널 번호 | 시그널 이름 | 동작 |
1 | SIGHUP | 프로세스 종료없이 프로그램 초기화 |
2 | SIGINT | ctrl+c 했을 때 발생 |
9 | SIGKILL | 프로세스의 무조건 종료 |
11 | SIGSEGV | 프로세스가 잘못된 메모리 참조 시 발생 |
14 | SIGALRM | 알람 발생 |
15 | SIGTERM | 프로세스의 종료지만 일부는 이 시그널을 무시 |
18 | SIGCONT | 멈춘 프로세스 동작 시킴 |
19 | SIGSTOP | 프로세스 중단 |
20 | SIGTSTP | ctrl+z 했을 때 발생하며 프로세스 중단 |
작업 관리
작업(job)은 쉘이 관리하는 프로세스다.
쉘이 작업을 동작시키거나 조작할 수 있다.
작업마다 작업 ID 번호를 할당한다.
작업 상태
포그라운드(Foreground) 작업 | 터미널에서 명령어를 실행하고 실행이 종료될 때까지 터미널 화면을 사용해 동작하는 작업 |
백그라운드(Background) 작업 | 명령어를 실행하면 터미널을 사용하지 않고 동작하는 작업 |
정지된(Stopped) 작업 | 포그라운드에서 ctrl + Z를 눌렀을 때나 백그라운드에서 stop명령어를 입력해 정지한 작업 |
작업 관리 명령어
명령어 | 설명 |
jobs | 현재 동작 중이거나 백그라운드에서 정지 중인 모든 작업 출력 |
bg %n | 작업 ID가 n인 작업을 백그라운드에서 동작시킴 |
fg %n | 작업 ID가 n인 작업을 포그라운드에서 동작시킴 |
ctrl + Z | 포그라운드 작업을 정지 시킨 후 정지된 작업으로 백그라운드에 위치시킴 |
stop %n | 백그라운드에서 동작 중이던 작업 ID가 n인 작업을 정지시킴 |
반응형
'CS > 리눅스' 카테고리의 다른 글
[리눅스 기초] 압축 및 압축 해제 (0) | 2020.07.28 |
---|---|
[리눅스 기초] 아카이브 생성 및 해제 (0) | 2020.07.28 |
[리눅스 기초] 쉘 프로그래밍 (0) | 2020.07.28 |
[리눅스 기초] 쉘 명령어 사용 (0) | 2020.07.28 |
[리눅스 기초] 퍼미션 이해 및 사용 (0) | 2020.07.27 |
Comments