리눅스 프로세스 관리

리눅스 운영체제는 다양한 프로세스를 동시에 실행하고 관리하는 데에 탁월한 성능을 보여줍니다. 이번 블로그 포스트에서는 bash 쉘을 사용하여 리눅스에서 프로세스를 관리하는 방법에 대해 알아보겠습니다.

프로세스 확인하기

리눅스에서 현재 실행 중인 프로세스를 확인하는 가장 간단한 방법은 ps 명령어를 사용하는 것입니다. ps 명령어는 현재 로그인된 사용자의 프로세스 목록을 출력해줍니다.

ps

Output:

PID   TTY         TIME         CMD
1234  pts/0       00:00:10     bash
5678  pts/0       00:00:05     firefox

위 예제에서는 현재 두 개의 프로세스가 실행 중인 것을 확인할 수 있습니다. 각각의 열은 PID(프로세스 ID), TTY(터미널 종류), TIME(실행 시간), CMD(명령어)를 나타냅니다.

프로세스 종료하기

프로세스를 종료하는 가장 간단한 방법은 kill 명령어를 사용하는 것입니다. kill 명령어는 특정 프로세스에 종료 신호를 보내어 프로세스를 중단시킵니다.

kill [PID]

위 예제에서 [PID] 대신 종료하고자하는 프로세스의 실제 PID 값을 입력해야 합니다.

프로세스 관리 스크립트 작성하기

여러 프로세스를 한 번에 관리하기 위해 bash 스크립트를 작성할 수 있습니다. 아래는 몇 가지 유용한 예제입니다.

  1. 모든 프로세스 종료하기:
#!/bin/bash

for pid in $(ps -ef | awk '{print $2}')
do
    kill $pid
done
  1. 특정 프로세스 종료하기:
#!/bin/bash

process_name="firefox" # 종료할 프로세스명

for pid in $(pgrep $process_name)
do
    kill $pid
done

위의 스크립트는 모든 프로세스를 종료하거나 특정 프로세스를 종료하기 위해 사용할 수 있습니다. ps 명령어의 출력을 파싱하여 원하는 조건에 해당하는 프로세스를 선택하고 kill 명령어를 사용하여 종료합니다.

마무리

이번 블로그 포스트에서는 리눅스에서 프로세스를 관리하는 방법에 대해 알아보았습니다. ps 명령어를 사용하여 현재 실행 중인 프로세스를 확인하고, kill 명령어를 사용하여 프로세스를 종료하는 방법을 배웠습니다. 또한, bash 스크립트를 통해 여러 프로세스를 한 번에 관리하는 방법도 살펴보았습니다.

프로세스 관리는 리눅스 시스템 관리에서 중요한 부분이므로 이러한 명령어와 스크립트를 잘 활용하면 효율적인 시스템 운영이 가능합니다.