data structure 자료 구조 검색해보기
자원을 어떻게 효율적으로 관리하는지 알아둬야 함
생성 실행 준비 대기 종료

dispatch(processname) : ready → running 2) 보류(block) 실행 상태의 프로세스가 허가된 시간을 다 쓰기 전에 입출력 동작을 필요로 하는 경우 프로세스는 CPU를 스스로 반납하고 보류 상태로 넘어간다.block(processname) : running → blocked 3) 깨움(wakeup)⭐ 입출력 작업 종료 등 기다리던 사건이 일어났을 때, 보류 상태에서 준비 상태로 넘어가는 과정wakeup(processname) : blocked → ready 4) 시간제한(timeout) 운영체제는 프로세스가 프로세서를 독점해서 사용하지 못하게 하기 위해 clock interrupt를 두어서 프로세스가 일정 시간 동안만 프로세서를 점유할 수 있게 한다.timeout(processname) : running → ready범위 2가지
포그라운드 & 백그라운드 프로세스
부모 프로세스와 자식프로세스
좀비 프로세스
현재 실행 중인 프로세스의 상태 확인
ps [옵션]
옵션
-a : 터미널에서 실행한 프로세스의 정보 출력
-e : 시스템에서 실행 중인 모든 프로세스의 정보 출력
-f : 프로세스에 대한 상세한 정보 출력
-r : 현재 실행 중인 프로세스의 정보 출력
-ef
-au
-aux
|로 연결해서 관련 정보 추출가능
ps -ef | grep sshd # sshd를 포함하고 있는? 어떤 프로세스가 실행중인지 여부 확인
# pid를 보기 위해
ps -aux 출력 정보
-aux 옵션으로 확인할 수 있는 프로세스 정보의 각 필드


ps -fp $(grep -x bash) → 시스템에 접속된 모든 사용자 검색됨
ps -fp $(grep -x cake bash) → cake 계정에 대한 정보만 검색
ps -fp $(pgrep -x bash) → 프로세스를 종료하는 Kill 명령은 종료할 프로세스 인자에 지정한 숫자 메시지를 시그널로 보내 해당 프로세스를 종료한다. 프로세스에게 보내는 시그널은 인트럽트, 프로세스 종료, 강제 종료 등의 숫자로 기능이 지정되어 있으며 사용형식은 다음과 같다.
프로세스 종료를 위해 지정한 시그널을 해당 프로세스에 전달
kill [시그널] PID
[시그널]
-2 : 인터럽트 시그널 전송 (Ctrl + C) ⭐
-9 : 프로세스 강제 종료 ( -1 : 강제종료 / -3 : 강제종료 quit ) 💥주의!
-15 : 프로세스가 관련 파일을 정리 후 종료 (종료되지 않은 프로세스도 있음)⭐
시스템의 상태를 전반적으로 가장 빠르게 파악 가능 (CPU, Memory, Process)
ps와 top의 차이점
프로세스 간의 계층 구조를 출력하는 명령어
ptree -p # 각 프로세스의 PID를 함께 출력
나가기 : Ctrl + C
프로세스
서비스
백그라운드에서 동작하는 기능을 관리하며 사용자가 명시적으로 시작하지 않아도 자동으로 실행된다.
Virtual Box 부팅 화면에서 e 입력
ro를 rw로 변경
rhgb~ 삭제 후
init=/bin/sh
-> # whoami : root
→ # passwd : root
설정값이 어디에 위치해 있는지 알기 !!
grub2-mkconfig -o /boot/grub2/grub.cfg
vi /etc/grub.d/00_header
cat << EOF
set superusers="busan"
passwd grubuser 123456
EOF

사용자가 입력한 명령어를 터널에 전달한다 : 쉘 : 사용자와 가까이 있다.
하드웨어와 가까이 있는 것 : 터널