Linuxでのアクティブな時間の取得方法


  1. uptimeコマンドを使用する方法: uptimeコマンドは、システムの稼働時間と平均負荷を表示します。ターミナルで以下のコマンドを実行します。

    uptime

    コマンドの出力には、システムの稼働時間が表示されます。例えば、以下のような出力が得られます。

    09:20:35 up 10 days, 2:30, 3 users, load average: 0.45, 0.67, 0.74

    "up"の後に表示される時間情報が、システムの稼働時間です。

  2. psコマンドを使用する方法: psコマンドは、実行中のプロセスに関する情報を表示します。以下のコマンドを使用して、プロセスの起動時間を取得します。

    ps -eo pid,etimes,cmd

    コマンドの出力には、プロセスのPID(プロセスID)と起動時間(経過秒)が表示されます。起動時間は、システムが起動してからの経過秒数を表します。

  3. /procファイルシステムを使用する方法: Linuxの/procファイルシステムには、実行中のプロセスに関する情報が格納されています。特に、/proc/[PID]/statファイルには、各プロセスの起動時間が記録されています。

    以下のようなスクリプトを作成して、特定のプロセスの起動時間を取得することができます。

    #!/bin/bash
    pid=<プロセスID>
    if [ -d "/proc/$pid" ]; then
       stat_file="/proc/$pid/stat"
       start_time_ticks=$(awk '{print $22}' "$stat_file")
       system_uptime_ticks=$(awk '{print $1}' "/proc/uptime")
       system_uptime_seconds=$(awk '{print int($1)}' "/proc/uptime")
       process_start_time_seconds=$((system_uptime_seconds - (start_time_ticks / sysconf(_SC_CLK_TCK))))
       process_start_time=$(date -d "@$process_start_time_seconds" +"%Y-%m-%d %H:%M:%S")
       echo "Process Start Time: $process_start_time"
    else
       echo "Process with PID $pid not found."
    fi

    上記のスクリプトでは、<プロセスID>の部分を対象のプロセスの実際のPIDに置き換えて使用します。スクリプトを実行すると、指定したプロセスの起動時間が表示されます。

以上の方法を使用して、Linuxシステムでのアクティブな時間を取得することができます。これらの方法を活用して、システムモニタリングやプロセス管理に役立ててください。