0. 프로세스
- CPU 리소스(연산 능력)을 사용하는 프로그램
- 분류
1) 종류
대화형 프로세스 : 사용자가 입력장치를 통하여 전달한 명령의 결과를 출력 장치를 통해 돌려주는 프로세스
배치 프로세스 : 정해진 시간에 약속된 동작을 수행하는 프로세스
데몬 프로세스 : 서비스의 동작을 제어하는 프로세스
2) 동작 위치
포그라운드 프로세스 : 내가 현재 사용중인 프로세스
백그라운드 프로세스 : 그 외 모든 동작 중인 프로세스
- 프로세스 확인
ps [옵션] | grep <찾을 내용>
* 옵션
-e : 백그라운드 프로세스 까지 확인
-f : PPID까지 확인
# 출력 내용 보는 방법
UID : User ID, 해당 프로세스를 실행한 사용자를 표시
PID : Process ID, 프로세스에 할당되는 관리(식별) 번호,
한 번 사용된 번호는 재부팅 전에는 다시 사용 X
PPID : Parents PID, 해당 프로세스의 상위 프로세스 PID(프로세스도 tree 구조로 구성)
C : CPU 점유율(0으로 출력되는 내용은 1% 미만)
STIME: 프로세스가 시작된 시간
TTY : Terminal, 해당 프로세스가 어느 터미널을 통하여 제어되고 있는지 출력
(? : system, tty/숫자 : real terminal, pts/숫자 : virtual terminal - putty 등)
TIME : 프로세스가 동작하는데 걸린 시간
CMD : 프로세스를 동작시킨 명령(or 작업)
# 프로세스 종료
kill <PID>
* 종료되지 않는 프로세스는 상위 프로세스를 확인하여 종료
(종료하면 안되는 프로세스 반드시 확인)
1. grub2 boot loader
- boot loader : 부팅 과정에서 어느 OS로 부팅할 것인지 선택, 그 OS로 부팅을 시작시키는 역할
> CentOS는 6버전까지는 grub 사용, 7버전부터 grub2 사용
- boot loader 화면에서 특정 방식의 제어를 통하여 root 암호를 모르는 상태로 root 접근 가능
1) 부팅 시 kernel 목록이 나오는 화면 (5초 유지)에서 아래 방향키를 한 번만 내려도
자동 진행이 멈춤
2) 가장 위에 있는 kernel(최신 버전)을 선택한 상태에서 e 눌러 편집 화면으로 이동
3) 편집 화면에서 아래 방향키로 마지막 줄까지 이동 후 linux16으로 시작하는 줄의 내용 수정
* 수정 내용 : ro -> rw, rhgb quiet -> init=/bin/bash, LANG=ko_KR.UTF-8 내용은 삭제
* 수정 내용 중 rhgb quiet를 rhgb single로 바꿔주면 single user mode로 부팅
4) 수정된 내용으로 부팅(일회성) ctrl + X 눌러주기
5) 각종 메세지가 출력되다가 bash-4.2#이 출력되면 root 사용자로 부팅이
완료된 상태(확인:whoami)
* 이 환경에서 동작이 안되는 명령어들이 있다
6) 필요한 작업이 다 끝난 후에는 exec /sbin/init 입력하여 정상 부팅
- grub2 boot loader에서 kernel 편집 막는 방법(인증 통과 후 편집)
1. /etc/grub.d/00_header 파일 마지막 줄 아래로 다음 내용 추가
<내용>
cat << EOF
set superusers='인증ID'
password 인증ID 인증암호
EOF
2. grub2-mkconfig -o /boot/grub2/grub.cfg 명령 입력하여 적용
2. run-level
- 시스템 부팅 과정에서 동작하는 각종 프로세스들을 단계별로 구분해놓은 개념
런레벨에 따라 동작하는 프로세스들이 추가되는 방식으로 구성
- unix 기반의 운영체제는 부팅 시 어느 run-level 단계로 부팅을 할 것인지 설정
> 운영체제에 따라 런레벨이 다르기 때문에 미리 확인이 필요하다
- CentOS 7버전부터 런레벨 방식이 변경
1) ~ CentOS 6 : 부팅 시 initd 메인 프로세스 동작 -> /etc/inittab 파일 내부 내용을 확인하여 부팅할
런레벨 결정 ( /etc/inittab 내부 id:숫자:initdefault: 설정의 숫자에 따라 런레벨 결정)
runlevel 0 : halt (시스템 종료)
runlevel 1 : single user mode (CLI, only root, 최소한의 service 동작, 백업/복구용으로 사용)
runlevel 2 : multi user monde without NFS (CLI, all user, network+GUI 관련 service 동작 X)
runlevel 3 : full multi user mode (CLI, all user, GUI 관련 service 동작 X)
runlevel 4 : unused
runlevel 5 : X11 (GUI, all user, all service 동작)
runlevel 6 : reboot (시스템 재부팅)
2) CentOS 7 ~ : 부팅 시 systemd 메인 프로세스 동작 -> default.target 링크 파일에 연결된 런레벨로 부팅
(/etc/systemd/system/default.target 링크 파일이 /usr/lib/systemd/system/ 디렉토리 내부에 있는
런레벨 타겟에 연결되어 있다)
porweroff.target : runlevel 0
rescue.target : runlevel 1
multi-user.target : runlevel 3
graphical.target : runlevel 5
reboot.target : runlevel 6
- 런레벨 확인
systemctl get-default : 현재 target 런레벨 값 보기
ls -l /etc/systemd/system/default.target
- 런레벨 변경
systemctl set-default <런레벨 타겟> multi-user.target : target 런레벨 값 바꾸기
ln -sf /usr/lib/systemd/system/<런레벨 타겟> /etc/systemd/system/default.target
ln -sf /usr/lib/systemd/system/graphical.target /etc/systemd/system/default.target
ll /etc/systemd/system/default.target
3. ln
- hard link 생성
> 옵션을 이용하여 symbolic link 생성 가능
* hard link : 원본 파일과 inode 값이 같은 파일(= 같은 sector에 저장된 데이터로 연결하는 파일)
symbolic link : 원본 파일로 연결되는 link 파일(= windows의 바로가기 개념)
- 형식
ln [옵션] 원본 링크이름
* 옵션
-s : hard link가 아닌 symbolic link 생성
-f : 기존 link 파일에 덮어쓰기
(이미 존재하는 link 파일로는 link 생성이 불가능해서 사용하는 옵션)
'Base > Linux(CentOS)' 카테고리의 다른 글
11. 데몬 프로세스 제어 (0) | 2022.06.21 |
---|---|
10. 리눅스 네트워크 관련 명령어 (0) | 2022.06.21 |
8. 파티션과 마운트 (Partition / mount) (0) | 2022.06.21 |
7. 응용프로그램 설치 tar/ rpm/ yum (0) | 2022.06.20 |
6. 권한 (허가권, 소유권, 특수권한) (0) | 2022.06.20 |
댓글