쓸데없는 PID 한번에 종료

Leejaegun·2024년 10월 17일

🔹 명령어 분석: ps aux | grep '_temp_e_sim' | awk '{print $2}' | xargs kill -9

이 명령어는 특정 프로세스를 찾아 종료하는 역할을 합니다. 아래의 각 부분을 단계별로 설명하겠습니다.


1️⃣ ps aux

📌 의미:
현재 실행 중인 모든 프로세스를 조회하는 명령어입니다.

🔹 ps (Process Status)

  • 실행 중인 프로세스 목록을 확인하는 명령어입니다.

🔹 aux 옵션

  • a : 다른 사용자의 프로세스까지 포함하여 출력.
  • u : 프로세스 소유자, CPU 및 메모리 사용량 등 상세 정보를 포함.
  • x : 터미널과 연결되지 않은 백그라운드 프로세스도 포함.

📌 실행 예시

ps aux

2️⃣ grep '_temp_e_sim'

📌 의미:
ps aux의 출력에서 _temp_e_sim이라는 패턴을 포함한 줄만 필터링합니다.

🔹 grep (Global Regular Expression Print)

  • 특정 패턴을 포함하는 줄만 출력하는 명령어.

📌 실행 예시

ps aux | grep '_temp_e_sim'

📌 출력 예시

(이 줄에서 두 번째 필드가 프로세스 ID)

3️⃣ awk '{print $2}'

📌 의미:
grep으로 필터링된 결과에서 두 번째 필드(프로세스 ID, PID)를 출력합니다.

🔹 awk

  • 텍스트의 특정 필드를 추출하고 조작할 수 있는 명령어.

📌 실행 예시

ps aux | grep '_temp_e_sim' | awk '{print $2}'

📌 출력 예시
(PID가 12345인 경우)


4️⃣ xargs kill -9

📌 의미:
추출된 프로세스 ID(PID)를 kill -9 명령어의 인자로 전달하여 해당 프로세스를 강제 종료합니다.

🔹 xargs

  • 이전 명령어의 출력을 인자로 받아 다른 명령어를 실행.

🔹 kill -9

  • kill 명령어는 프로세스를 종료합니다.
  • -9 옵션은 SIGKILL(즉시 종료) 신호를 보내서 강제 종료.

📌 실행 예시

ps aux | grep '_temp_e_sim' | awk '{print $2}' | xargs kill -9

📌 실행 흐름
1. ps aux → 모든 프로세스 조회
2. grep '_temp_e_sim'_temp_e_sim이 포함된 프로세스 찾기
3. awk '{print $2}' → PID(프로세스 ID)만 추출
4. xargs kill -9 → 해당 PID를 kill -9 명령어에 전달하여 강제 종료

🔥 최종 요약

명령어역할
ps aux실행 중인 모든 프로세스를 출력
grep '_temp_e_sim'_temp_e_sim이 포함된 프로세스를 필터링
awk '{print $2}'해당 프로세스의 PID(프로세스 ID)만 출력
xargs kill -9PID를 kill -9에 전달하여 강제 종료

📌 주의사항

  • kill -9강제 종료(SIGKILL)이므로, 데이터가 손실될 수 있습니다.
  • 안전하게 종료하려면 kill 또는 kill -15(SIGTERM, 정상 종료 요청)를 먼저 사용하세요.
ps aux | grep '_temp_e_sim' | awk '{print $2}' | xargs kill -15
profile
Lee_AA

0개의 댓글