바이너리란 코드 이미지라 불리기도 하며 실행 파일을 말합니다. 저장 매체에 저장돼 있는 파일을 바이너리라 합니다. 프로세스는 모든 코드가 메모리에 올라간 상태에서 CPU에서 한 줄 한 줄 실행 중인 프로그램을 말합니다.
리눅스는 기본적으로 다양한 프로세스가 실행됩니다. 여러 프로그램이 서로 유기적으로 각자의 일을 수행하면서 전체 시스템이 동작하도록 하는 모델입니다.
foreground process / background process
foreground process : 쉘(shell)에서 해당 프로세스 실행을 명령한 후, 해당 프로세스 수행 종료까지 사용자가 다른 입력을 하지 못하는 프로세스입니다.
background process: 사용자 입력과 상관없이 실행되는 프로세스입니다. 쉘(shell)에서 해당 프로세스를 실행할 때 맨 뒤에 &를 붙여줍니다.
ex) find / -name '*.py' > list.txt &
foreground process 제어
ctrl + z: foreground 프로세스를 실행 중지 상태(suspend 모드)로 변경합니다.
중지된 프로세스는 bg 명령으로 background 프로세스로 실행될 수 있습니다.
jobs 명령어: 백그라운드로 진행 또는 중지된 상태로 있는 프로세스를 보여줍니다.
ctrl + c: 프로세스 작업을 취소합니다. 운영체제 소프트웨어 인터럽트가 해당 프로세스에 보내집니다.
ps [option(s)]
프로세스 상태를 확인할 수 있는 명령어입니다.
데몬 프로세스(demon process)
사용자 모르게 시스템 관리를 위해 실행되는 프로세스로 보통 시스템이 부팅될 때 자동 실행됩니다.
kill
프로세스를 종료할 수 있는 명령어입니다.
1. kill % 작업번호 (job number)
2. kill 프로세스 ID(pid)
3. 작업 강제 종료 옵션 -9
ex)
kill -9 57
'시스템 프로그래밍' 카테고리의 다른 글
쉘(shell) 사용법 - 리눅스 파일 시스템 (0) | 2021.04.30 |
---|---|
리눅스 파일 시스템 (0) | 2021.04.30 |
쉘 (shell) 사용법 - 리다이렉션(redirection)과 파이프(pipe) (0) | 2021.04.30 |
쉘 (shell) 명령어 (0) | 2021.04.29 |
유닉스/리눅스 기본 구성 (0) | 2021.04.28 |