# Tip: 리눅스 프로세스 관리 명령어

리눅스에서 프로세스 관련 작업을 수행할 때 사용되는 몇 가지 기본적인 명령어들에 대해 알아보겠습니다. 이러한 명령어들은 시스템에서 실행 중인 프로세스를 확인하고, 관리하는 데 도움이 됩니다.

## 1. `ps` 명령어

- **용도:** 현재 실행 중인 프로세스 목록을 보여줍니다.
- **예시:** `ps -aux`
  - `-a`: 모든 사용자의 프로세스를 보여줍니다.
  - `-u`: 프로세스 소유자에 대한 자세한 정보를 보여줍니다.
  - `-x`: 터미널 없이 실행되는 프로세스도 포함합니다.

## 2. `top` 명령어

- **용도:** 실시간으로 시스템에서 실행 중인 프로세스의 정보를 보여주며, CPU와 메모리 사용량 등의 시스템 요약 정보도 함께 표시합니다.
- **예시:** `top`
  - `top`을 실행한 후, `Shift` + `>` 또는 `<`를 눌러서 정렬 기준을 변경할 수 있습니다.

## 3. `kill` 명령어

- **용도:** 특정 프로세스에 신호를 보내 종료시킵니다.
- **예시:** `kill -9 [PID]`
  - `-9` 옵션은 `SIGKILL` 신호를 의미하며, 강제로 프로세스를 종료시킵니다.
  - `[PID]`는 종료시키고자 하는 프로세스의 ID입니다.

## 4. `pkill` 명령어

- **용도:** 프로세스 이름으로 프로세스를 종료시킵니다.
- **예시:** `pkill firefox`
  - 이 명령은 `firefox`라는 이름을 가진 모든 프로세스를 종료시킵니다.

## 5. `htop` 명령어

- **용도:** `top` 명령어의 향상된 버전으로, 시스템의 프로세스와 자원 사용량을 그래픽적인 인터페이스로 보여줍니다. (설치 필요)
- **설치 방법:** `sudo apt install htop` (Ubuntu/Debian 계열)
- **예시:** `htop`
  - `htop` 실행 후, 화살표 키와 마우스로 상호작용이 가능합니다.

## 6. `bg`, `fg` 명령어

- **용도:** `bg`는 정지된(stopped) 프로세스를 백그라운드에서 실행시킵니다. `fg`는 백그라운드 프로세스를 포그라운드로 가져옵니다.
- **예시:**
  - 백그라운드 실행: `Ctrl` + `Z`로 정지한 후, `bg` 명령어를 사용합니다.
  - 포그라운드로 가져오기: `fg [작업 번호]`

## 7. `nohup` 명령어

- **용도:** 로그아웃 후에도 프로세스가 계속 실행되도록 합니다.
- **예시:** `nohup ./my_script.sh &`
  - `nohup`은 프로세스를 행당 사용자의 터미널과 분리시키고, 종료 신호를 무시하게 합니다.

이러한 명령어들은 리눅스 시스템에서 프로세스를 모니터링하고 관리하는 데 기본적이고 필수적인 도구입니다. 각 명령어의 옵션과 사용법을 잘 익혀두면 시스템 관리에 큰 도움이 될 것입니다.
