在Linux下如何查看一個進程的運行時間
我是一個 Linux 系統(tǒng)的新手。我該如何在我的 Ubuntu 服務器上查看一個進程(或者根據(jù)進程 id 查看)已經(jīng)運行了多久?
你需要使用 ps 命令來查看關于一組正在運行的進程的信息。ps 命令提供了如下的兩種格式化選項。
etime 顯示了自從該進程啟動以來,經(jīng)歷過的時間,格式為 [[DD-]hh:]mm:ss。
etimes 顯示了自該進程啟動以來,經(jīng)歷過的時間,以秒的形式。
如何查看一個進程已經(jīng)運行的時間?
你需要在 ps 命令之后添加 -o etimes 或者 -o etime 參數(shù)。它的語法如下:
- ps -p {PID-HERE} -o etime
- ps -p {PID-HERE} -o etimes
第一步:找到一個進程的 PID (openvpn 為例)
- $ pidof openvpn
- 6176
第二步:openvpn 進程運行了多長時間?
- $ ps -p 6176 -o etime
或者
- $ ps -p 6176 -o etimes
隱藏輸出頭部:
- $ ps -p 6176 -o etime=
- $ ps -p 6176 -o etimes=
樣例輸出:
這個 6176 就是你想查看的進程的 PID。在這個例子中,我查看的是 openvpn 進程。你可以按照你的需求隨意的更換 openvpn 進程名或者是 PID。在下面的例子中,我打印了 PID、執(zhí)行命令、運行時間、用戶 ID、和用戶組 ID:
- $ ps -p 6176 -o pid,cmd,etime,uid,gid
樣例輸出:
- PID CMD ELAPSED UID GID
- 176 /usr/sbin/openvpn --daemon 15:25 65534 65534