ps コマンドのデフォルト表示

ps auxps -ef では起動日時が表示されるが、精度が低く「日付だけ」や「時刻だけ」になる場合がある。

$ ps aux | head -3
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.0 168936 13312 ?        Ss   Jun01   0:02 /sbin/init
root           2  0.0  0.0      0     0 ?        S    Jun01   0:00 [kthreadd]

START 列が日付だけで時刻が分からない。

lstart で正確な起動日時を表示する

-o lstart を指定すると、プロセスの起動日時を曜日・月・日・時刻・年の形式で表示できる。

$ ps -eo lstart,pid,comm
STARTED                      PID COMMAND
Wed Jun  3 08:00:01 2026       1 systemd
Wed Jun  3 08:00:02 2026     103 kthreadd

lstart だけではプロセスを特定しにくいため、実用上は他のフィールドと組み合わせて使う。

実用的な組み合わせ

ユーザー名・グループ名・コマンド名を合わせて表示する。

$ ps -eo lstart,pid,user,group,comm
STARTED                      PID USER     GROUP    COMMAND
Wed Jun  3 08:00:01 2026       1 root     root     systemd
Wed Jun  3 08:00:05 2026     512 www-data www-data nginx
Wed Jun  3 09:30:12 2026    1024 deploy   deploy   ruby

フルコマンドライン(引数込み)を表示したい場合は comm の代わりに args を指定する。

$ ps -eo lstart,pid,user,group,args
STARTED                      PID USER     GROUP    COMMAND
Wed Jun  3 08:00:01 2026       1 root     root     /sbin/init splash
Wed Jun  3 08:00:05 2026     512 www-data www-data nginx: master process /usr/sbin/nginx

grep で特定のプロセスを絞り込む

$ ps -eo lstart,pid,user,group,comm | grep nginx
Wed Jun  3 08:00:05 2026     512 www-data www-data nginx
Wed Jun  3 08:00:05 2026     513 www-data www-data nginx

特定のプロセスが何時に起動したかを確認できる。

macOS との違い

macOSでも同じオプションが使えるが、group フィールドがグループ名ではなくGID(数値)で表示される。

$ ps -eo lstart,pid,user,group,comm | head -3
STARTED                        PID USER               GID COMM
水  4/22 20:04:53 2026          1 root                 0 /sbin/launchd
水  4/22 20:05:05 2026        103 root                 0 /usr/libexec/logd

また、日時のフォーマットはロケール設定を反映した表示になる。