일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 역학
- GPT-4's answer
- 시스템
- NIO
- 웹 크롤링
- 자바
- 고전역학
- Java
- flet
- python
- lombok
- 뉴턴역학
- kotlin
- 자바암호
- oracle
- Database
- 유닉스
- JVM
- chatGPT's answer
- android
- GIT
- write by chatGPT
- write by GPT-4
- 인프라
- 파이썬
- 코틀린
- 소프트웨어공학
- 리눅스
- 자바네트워크
- Spring boot
- Today
- Total
Akashic Records
Linux 프로그램, 프로세스 관리 본문
리눅스에서 프로그램(소프트웨어 패키지) 관리는 주로 배포판에 내장된 패키지 관리 시스템을 사용하여 수행됩니다. 대표적으로 Debian 계열의 apt
와 Red Hat 계열의 yum
(또는 최근에는 dnf
)이 있습니다. 여기 두 시스템을 중심으로 기본적인 명령어들을 설명하겠습니다.
Debian 계열 (apt
)
Debian, Ubuntu 등 Debian 계열의 리눅스 배포판에서 사용됩니다.
apt-get update
- 설명: 패키지 목록을 업데이트하여 사용 가능한 패키지와 그 버전을 최신 정보로 갱신합니다.
- 옵션: 대부분 옵션 없이 사용됩니다.
- 예시:
sudo apt-get update
: 패키지 소스 목록을 업데이트합니다.
apt-get upgrade
- 설명: 설치된 패키지들을 최신 버전으로 업그레이드합니다.
- 옵션:
-y
: 모든 질문에 'yes'로 답변하여 자동으로 진행합니다.
- 예시:
sudo apt-get upgrade
: 시스템에 설치된 모든 패키지를 최신 버전으로 업그레이드합니다.
apt-get install
- 설명: 새로운 패키지를 설치하거나 최신 버전으로 업데이트합니다.
- 옵션:
-y
: 설치 중의 질문에 자동으로 'yes'로 응답하여 진행합니다.
- 예시:
sudo apt-get install nginx
: 'nginx' 웹 서버를 설치합니다.
apt-get remove
- 설명: 설치된 패키지를 시스템에서 제거합니다. 하지만 구성 파일은 남겨둡니다.
- 옵션:
--purge
: 패키지와 관련된 구성 파일까지 모두 제거합니다.
- 예시:
sudo apt-get remove nginx
: 'nginx'를 제거합니다.sudo apt-get remove --purge nginx
: 'nginx'와 관련된 구성 파일까지 모두 제거합니다.
Red Hat 계열 (yum
/ dnf
)
CentOS, Fedora 등 Red Hat 계열의 리눅스 배포판에서 사용됩니다.
yum update
/ dnf update
- 설명: 시스템의 모든 패키지를 최신 버전으로 업데이트합니다.
- 옵션:
-y
: 모든 질문에 자동으로 'yes'로 응답합니다.
- 예시:
sudo yum update
: 시스템에 설치된 모든 패키지를 최신 버전으로 업데이트합니다.sudo dnf update
: (dnf를 사용하는 시스템에서) 모든 패키지를 최신 버전으로 업데이트합니다.
yum install
/ dnf install
- 설명: 새로운 패키지를 설치합니다.
- 옵션:
-y
: 설치 중의 질문에 자동으로 'yes'로 응답합니다.
- 예시:
sudo yum install httpd
: 'httpd' (Apache 웹 서버)를 설치합니다.sudo dnf install httpd
: (dnf를 사용하는 시스템에서) 'httpd'를 설치합니다.
yum remove
/ dnf remove
- 설명: 설치된 패키지를 제거합니다.
- 옵션: 대부분 옵션 없이 사용됩니다.
- 예시:
sudo yum remove httpd
: 'httpd
'를 제거합니다.
sudo dnf remove httpd
: (dnf를 사용하는 시스템에서) 'httpd'를 제거합니다.
각 배포판과 패키지 관리 시스템마다 사용할 수 있는 명령어와 옵션들이 다양하기 때문에, 이 글에서 모든 것을 다루기는 어렵습니다. 특정 명령어에 대해 더 자세히 알고 싶다면, 해당 명령어 뒤에 --help
를 붙여 실행하거나 man 명령어
를 통해 매뉴얼 페이지에서 확인할 수 있습니다.
리눅스에서 프로세스 관리는 시스템에서 실행 중인 프로그램을 모니터링하고 제어하는 것을 말합니다. 이를 위해 여러 명령어들이 사용되며, 각각의 명령어는 프로세스를 조회, 실행, 중지, 우선순위 조정 등 다양한 작업을 수행할 수 있습니다. 다음은 프로세스 관리를 위한 주요 명령어들의 설명과 사용법입니다.
1. ps
(Process Status)
- 설명: 현재 실행 중인 프로세스의 목록을 보여줍니다.
- 옵션:
-e
: 모든 프로세스를 보여줍니다.-f
: 전체 포맷으로 보여줍니다, 보다 상세한 정보를 포함합니다.
- 예시:
ps
: 현재 셸과 관련된 프로세스들을 보여줍니다.ps -ef
: 시스템의 모든 프로세스를 상세 정보와 함께 보여줍니다.
2. top
- 설명: 현재 실행 중인 프로세스를 동적으로 업데이트하면서 보여주며, 시스템의 상태를 요약해서 보여줍니다.
- 옵션: 이 명령어는 실행 중인 상태에서 다양한 옵션을 사용할 수 있습니다.
- 예시:
top
: 프로세스 리스트와 시스템 상태를 실시간으로 보여줍니다.
3. kill
- 설명: 특정 프로세스에 신호를 보내어 종료시킵니다.
- 옵션:
-9
: 강제 종료 신호를 보냅니다. 가장 강력하며, 무시할 수 없는 종료 신호입니다.
- 예시:
kill -9 1234
: PID(Process ID)가 1234인 프로세스를 강제로 종료시킵니다.
4. pkill
- 설명: 프로세스의 이름으로 프로세스에 신호를 보내어 종료시킵니다.
- 옵션:
-9
: 강제 종료 신호를 보냅니다.
- 예시:
pkill -9 nginx
: 'nginx'라는 이름을 가진 모든 프로세스를 강제로 종료시킵니다.
5. htop
(Advanced top
)
- 설명:
top
명령어의 향상된 버전으로, 시각적 인터페이스를 통해 프로세스 관리를 더욱 편리하게 합니다. - 옵션: 이 명령어는 옵션보다는 인터랙티브 모드에서의 사용이 더 중요합니다.
- 예시:
htop
: 인터랙티브한 프로세스 뷰어를 실행합니다.
6. nice
- 설명: 프로세스를 시작할 때의 우선순위(niceness)를 설정합니다. 우선순위는 -20에서 19까지의 범위를 가지며, 낮을수록 높은 우선순위를 갖습니다.
- 옵션:
[niceness]
: 우선순위 값
- 예시:
nice -n 10 command
:command
를 niceness 값 10으로 실행합니다.
7. renice
- 설명: 실행 중인 프로세스의 우선순위를 변경합니다.
- 옵션:
[niceness]
: 새로운 우선순위 값
- 예시:
renice 10 -p 1234
: PID가 1234인 프로세스의 우선순위를 10으로 변경합니다.
8. nohup
- 설명: 터미널이 종료되거나 로그아웃되어도 특정 명령어를 계속 실행되게 합니다.
- 옵션: 대부분 옵션 없이 사용됩니다.
- 예시:
nohup command &
:command
를 백그라운드에서 실행하며, 터미널 종료 후에도 계속 실행되도록 합니다.
이 명령어들은 프로세스를 효율적으로 관리하고 모니터링하는 데 필수적입니다. 각 명령어는 특정 상황에 맞게 사용될 수 있으며, 더 복잡한 작업을 위해 함께 사용될 수도 있습니다. 각 명령어의 사용법을 더 깊이 이해하려면, 해당 명령어 뒤에 --help
를 붙여 실행하거나, man 명령어
를 통해 매뉴얼 페이지에서 확인할 수 있습니다.
'Operation System Controls' 카테고리의 다른 글
Linux 파일을 다루는 명령어들 (1) | 2024.03.18 |
---|---|
'crontab' 스케줄링을 위한 가이드 (0) | 2024.03.15 |
현재 실행 중인 프로세스와 시스템 상태를 보여주는 'top' (1) | 2024.03.15 |
vmstat (0) | 2018.04.18 |
Unix 프로세스 관리(PS) (0) | 2018.04.18 |