- 締切済み
24時間以上たった、プロセスの起動日時を調べる方法
24時間以上たった、プロセスの起動日時を調べる方を教えて下さい。 以下のようにすれば、24時間以内のプロセス起動に日時は、わかるのですが、24時間以上たったものは、日付はでますが、時間が『?』となります。何か、良い知恵を貸して下さい。 ps -ef | grep プロセスID
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- gaktank
- ベストアンサー率65% (23/35)
回答No.1
「/proc/プロセスID」ディレクトリの作成日時が そのままプロセス起動日時となるので、 「ls -ld」で見ればいいと思います。 なお、lsは6ヶ月以前になると時間を表示してくれず、 年表示になってしまいます。この場合は 「tar cf - /proc/PID/cwd | tar tvf -」 とかするとちゃんと時間が見れます。 秒単位まで知りたい場合、作成時間を秒まで見る手段が Solaris標準コマンドで用意されていないので、 C関数のfstatus()を使って取得した秒を表示するCソースを 作ってコンパイルすれば可能です。 質問者さんの使用OSが書かれていませんが、 Solaris7以降であれば/procが存在しているので 上記の方法でいけると思います。 (Solaris8、Solaris9で確認しました)
お礼
遅くなりました。ご丁寧な回答ありがとうございます。使用していたのは、Solaris9です。