리눅스에서는 여러 프로세스가 동시에 실행되는데, 이를 감시하고 관리하는 것은 중요한 작업입니다. 프로세스 감시는 시스템의 안정성과 성능에 매우 중요한 역할을 합니다. 이번 블로그 포스트에서는 리눅스에서 프로세스를 감시하는 방법에 대해 알아보겠습니다.
ps
명령어로 프로세스 정보 확인하기
가장 기본적인 프로세스 감시 방법은 ‘ps’ 명령어를 사용하여 현재 실행 중인 프로세스 정보를 확인하는 것입니다. ‘ps’ 명령어는 다양한 옵션과 함께 사용할 수 있으며, 중요한 옵션 몇 가지를 살펴보겠습니다.
-e
: 시스템 전체 프로세스를 표시합니다.-u
: 실행 시 사용자 이름과 함께 프로세스를 표시합니다.-f
: 자세한 프로세스 정보를 표시합니다.
예를 들어, 다음과 같이 ‘ps -ef’ 명령어를 실행하면 모든 프로세스의 자세한 정보를 확인할 수 있습니다.
$ ps -ef
top
명령어로 실시간 프로세스 모니터링
‘ps’ 명령어는 한 번 실행한 후 해당 결과를 확인해야 합니다. 하지만, 리눅스에서는 ‘top’ 명령어를 사용하여 실시간으로 프로세스를 모니터링할 수도 있습니다. ‘top’ 명령어는 기본적으로 CPU 사용률에 따라 프로세스를 정렬해서 표시합니다. 중요한 옵션은 다음과 같습니다.
q
: ‘top’ 명령어를 종료합니다.r
: 프로세스의 우선순위를 변경합니다.k
: 선택한 프로세스를 종료합니다.
실행 후 ‘top’ 명령어는 다음과 같은 실시간 모니터링 화면을 제공합니다.
$ top
htop
명령어로 프로세스 보기 향상하기
‘htop’ 명령어는 ‘top’ 명령어의 향상된 버전으로, 터미널에서 보다 직관적으로 프로세스를 확인하고 관리할 수 있습니다. ‘htop’ 명령어는 아래와 같이 설치할 수 있습니다.
$ sudo apt-get install htop
‘htop’을 실행하면, 보다 편리하게 프로세스를 모니터링할 수 있습니다.
$ htop
systemctl
명령어로 서비스 관리하기
리눅스의 프로세스 중 일부는 서비스로 실행됩니다. 이러한 서비스는 ‘systemctl’ 명령어를 사용하여 관리할 수 있습니다. ‘systemctl’ 명령어를 통해 서비스를 시작, 중지, 재시작, 상태 확인 등을 할 수 있습니다.
start
: 서비스를 시작합니다.stop
: 서비스를 중지합니다.restart
: 서비스를 재시작합니다.status
: 서비스의 상태를 확인합니다.
예를 들어, ‘nginx’ 서비스를 관리해보겠습니다. 다음과 같이 명령어를 실행할 수 있습니다.
$ sudo systemctl start nginx
$ sudo systemctl stop nginx
$ sudo systemctl restart nginx
$ sudo systemctl status nginx
결론
리눅스에서 프로세스 감시는 시스템의 안정성과 성능을 유지하는 데 매우 중요한 역할을 합니다. 이번 포스트에서는 ‘ps’, ‘top’, ‘htop’, ‘systemctl’ 명령어를 사용하여 리눅스에서 프로세스를 감시하고 관리하는 방법을 알아보았습니다. 이러한 명령어를 잘 활용하여 프로세스를 감시하고 안정적인 시스템 운영에 도움이 되길 바랍니다.
참고 자료: