Lệnh ps (ít nhất là phiên bản Procps được sử dụng bởi nhiều bản phân phối Linux) có một số trường định dạng liên quan đến thời gian bắt đầu quá trình, bao gồm cả lstart
luôn cung cấp đầy đủ ngày và thời gian quy trình bắt đầu:
# ps -p 1 -wo pid,lstart,cmd
PID STARTED CMD
1 Mon Dec 23 00:31:43 2013 /sbin/init
# ps -p 1 -p $$ -wo user,pid,%cpu,%mem,vsz,rss,tty,stat,lstart,cmd
USER PID %CPU %MEM VSZ RSS TT STAT STARTED CMD
root 1 0.0 0.1 2800 1152 ? Ss Mon Dec 23 00:31:44 2013 /sbin/init
root 5151 0.3 0.1 4732 1980 pts/2 S Sat Mar 8 16:50:47 2014 bash
Để thảo luận về cách thông tin được xuất bản trong hệ thống tập tin / Proc, hãy xem /unix/7870/how-to-check-how-long-a- process-has-been-rucky
(Theo kinh nghiệm của tôi trong Linux, dấu thời gian trên thư mục / Proc / dường như có liên quan đến thời điểm thư mục ảo được truy cập gần đây thay vì thời gian bắt đầu của các quy trình:
# date; ls -ld /proc/1 /proc/$$
Sat Mar 8 17:14:21 EST 2014
dr-xr-xr-x 7 root root 0 2014-03-08 16:50 /proc/1
dr-xr-xr-x 7 root root 0 2014-03-08 16:51 /proc/5151
Lưu ý rằng trong trường hợp này, tôi đã chạy lệnh "ps -p 1" vào khoảng 16:50, sau đó sinh ra một vỏ bash mới, sau đó chạy lệnh "ps -p 1 -p $$" trong lớp vỏ đó ngay sau đó ... .)
ps -p <pid> -o lstart
? Có vẻ như nó hoạt động, nhưng tôi không chắc tại sao nó không phải là câu trả lời rõ ràng ngay lập tức cho nhiều lần câu hỏi này dường như xuất hiện.