>  기사  >  컴퓨터 튜토리얼  >  Linux에서 프로세스가 얼마나 오랫동안 실행되었는지 확인하는 방법

Linux에서 프로세스가 얼마나 오랫동안 실행되었는지 확인하는 방법

WBOY
WBOY앞으로
2024-03-10 08:04:171133검색

프로세스의 실행 시간은 프로세스가 시작된 이후 경과된 시간을 나타냅니다.

프로세스의 실행 시간을 확인하면 시스템에서 어떤 프로세스가 얼마나 오랫동안 실행되었는지 확인하는 데 도움이 됩니다. 이는 시스템 응답 속도가 느려지고 시스템 리소스 사용량이 높아지는 문제를 식별하는 데 중요합니다.

우리는 시스템의 안정성과 성능을 향상시킬 수 있는 이러한 장기 실행 프로세스를 적시에 발견하고 처리합니다.

Linux에서 프로세스가 얼마나 오랫동안 실행되었는지 확인하는 방법

ps 명령을 사용하세요

ps 명령은 시스템 프로세스의 현재 상태를 보고하는 강력한 도구입니다.

다양한 옵션을 결합하여 프로세스 실행 시간을 포함하여 프로세스에 대한 다양한 정보를 얻을 수 있습니다.

프로세스 ID(PID), 실행 시간 등을 포함한 프로세스의 기본 정보를 보려면 다음 명령을 사용하세요.

으아아아
  • -e: 모든 프로세스 표시
  • -o: 출력 형식을 지정하세요

위 명령으로 출력된 열에서 etime는 프로세스의 실행 시간을 나타냅니다.

예:

으아아아

이는 PID가 1234example-process인 프로세스가 2시간 30분 45초 동안 실행되었음을 의미합니다.

최상위 명령 사용

top은 시스템 프로세스를 실시간으로 모니터링하기 위한 명령줄 도구로, 동적으로 업데이트되는 프로세스 목록을 제공합니다.

다음 명령을 실행하여 top를 시작하세요.

으아아아

top 界面,你可以按 Shift+E 인터페이스에서 Shift+E 키를 눌러 프로세스 실행 시간 표시를 전환할 수 있습니다.

이렇게 하면 프로세스 목록에 프로세스가 실행된 총 시간을 표시하는 TIME+ 열이 포함됩니다.

으아아아

이 예시에서 example-process의 런닝타임은 2시간 30분 45초입니다.

pstree 명령 사용

pstree 명령은 프로세스 계층 구조를 트리 다이어그램 형태로 표시합니다. 프로세스 트리를 보면 프로세스 간의 관계를 더 명확하게 파악하고 실행하는 데 걸리는 시간을 확인할 수 있습니다.

다음 명령을 실행하여 pstree를 사용하여 프로세스 트리를 확인하세요.

으아아아

그 중 -p 옵션은 프로세스의 PID를 표시합니다. 출력은 다음과 같습니다:

으아아아

이 트리 구조를 보면 각 프로세스와 해당 하위 프로세스를 식별하고 필요한 경우 실행 기간을 이해할 수 있습니다.

/proc 파일 시스템 사용

Linux의 /proc 디렉터리는 시스템과 프로세스에 대한 정보를 제공하는 가상 파일 시스템입니다.

/proc 아래의 파일을 읽으면 실행 시간을 포함한 프로세스의 세부 정보를 얻을 수 있습니다.

/proc/[PID]/stat 파일을 읽으면 실행 시간을 포함하여 특정 프로세스에 대한 자세한 정보를 얻을 수 있습니다.

예는 다음과 같습니다.

으아아아

출력은 다음과 같을 수 있습니다:

으아아아

출력에서 열 22(왼쪽부터)는 시계 틱 단위의 프로세스 실행 시간을 나타냅니다.

htop을 사용하세요

htop 是一个交互式的、更友好的进程查看工具,相对于传统的 top은 기존

명령보다 더 강력하고 직관적인 대화형의 친숙한 프로세스 보기 도구입니다.

htop다음 명령을 실행하여

를 시작하세요.

으아아아 htop

인터페이스에서는 화살표 키와 기능 키를 사용하여 탐색하고 다양한 작업을 수행할 수 있습니다.

F6 键,选择并启用 TIME+F6 키를 눌러 프로세스의 실행 시간을 표시하도록 선택하고

활성화합니다.

으아아아 TIME+여기서

열은 프로세스의 실행 시간을 시, 분, 초 형식으로 표시합니다.

Systemd 도구 사용

Systemd

은 시스템에서 실행되는 프로세스를 모니터링하고 제어하는 ​​다양한 도구를 제공하는 시스템 및 서비스 관리자입니다.

systemctl다음 명령을 실행하면

를 사용하여 가동 시간을 포함한 특정 서비스의 세부 정보를 볼 수 있습니다.

으아아아

출력에는 실행 시간을 포함한 서비스 세부 정보가 포함됩니다.

으아아아 Active출력에서

섹션에는 서비스의 활동 상태와 시작된 이후의 시간이 표시됩니다. 🎜

编写脚本自动化检查

使用Shell脚本

创建一个 Shell 脚本文件,比如 check_process_time.sh,并添加以下内容:

#!/bin/bash

# 设置要检查的进程名称
process_name="example-process"

# 获取进程运行时间
process_time=$(ps -eo cmd,etime | grep "$process_name" | awk '{print $NF}')

echo "Process $process_name has been running for: $process_time"

保存脚本文件后,赋予执行权限并运行:

chmod +x check_process_time.sh
./check_process_time.sh

脚本将输出指定进程的运行时间,方便用户定期执行以监控进程状态。

定时执行脚本

使用 cron 或 systemd 的定时任务功能,你可以定期执行上述脚本,以便及时了解进程的运行时间。

下面是使用 cron 的例子:

# 打开定时任务编辑器
crontab -e

添加以下行来每小时执行一次脚本:

0 * * * * /path/to/check_process_time.sh

保存并退出编辑器。

위 내용은 Linux에서 프로세스가 얼마나 오랫동안 실행되었는지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 mryunwei.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제