ps
- process status
- 현재 세션의 프로세스를 보여줌
- ps [옵션]
- -a : 다른 사용자의 프로세스도 포함하여 보여줌
- -e : 모든 프로세스를 보여줌
- -f : 프로세스의 상세한 정보를 포함한 full-format으로 보여줌
- -l : 프로세스의 더 상세한 정보를 포함한 long-format으로 보여줌
- PID : 프로세스 ID / TTY : Terminal ID / Time : CPU 시간(누적 시간) / CMD : 프로세스 이름
- PPID : 부모 프로세스 ID / C : CPU 사용량 / STIME : 프로세스 시작 시간
kill
- 프로세스를 죽이는 명령어가 아닌, 프로세스에 시그널을 보내는 기능
- 시그널에 따라서 프로세스에게 특정한 이벤트나 상황을 알리는 기능이 존재
- Unix Singals
- SIGHUP : 프로세스를 다시 시작하거나, 구성을 재로드할때 사용 (연관된 터미널이 끊어졌을 때 발생)
- SIGINT : 프로세스가 인터럽트되어 실행이 중지됨 (Ctrl + C)
- SIGQUIT : 프로세스를 종료하기 전 디버깅 정보를 생성하고 덤프를 저장함 (Ctrl + \ )
- SIGKILL : 프로세스 강제 종료
- SIGSEGV : 프로세스가 잘못된 메모리 위치에 접근하려고 할때 발생함
- SIGTERM : 프로세스 종료 요청 후 정상적으로 종료
- SIGTSTP : 프로세스를 일시적으로 중지하고 백그라운드로 이동 (Ctrl + Z)
- SIGTSTP 시그널을 fore-ground 프로세스에 전달하여 작동을 잠시 정지시킴
- back-ground에 stopped 상태
Session
- 로그인한 사용자가 시스템과 상호 작용하는 일련의 작업
- Session은 일반적으로 사용자가 로그인할 때 시작되고, 로그아웃하거나 시스템 종료 시 종료
- 세션은 다른 세션과 분리되어 있으므로 사용자는 한 번에 여러 개의 세션을 시작 가능
- 일반적으로 다른 세션과 격리되어 있으며, 다른 세션에서 실행되는 프로세스와 상호 작용 x
- 구성요소
- 로그인 셸 : 사용자가 로그인하면 시스템은 사용자의 로그인 셸을 시작
- 사용자가 명령어를 입력하고 프로세스를 실행하는 데 사용
- 프로세스 그룹 : 로그인 셸이 시작된 후에는 셸이 실행하는 모든 프로세스가 프로세스 그룹으로 구성
- 제어 터미널 : 사용자가 입력한 명령어와 출력 내용을 표시하는 터미널 디바이스
- 사용자가 로그인하면 시스템은 새로운 제어 터미널을 할당하고, 로그아웃할 때 할당을 해제
- 환경 변수 : 세션은 환경 변수를 설정하여 사용자가 로그인한 셸과 다른 프로세스에서 사용할 수 있음