Sebagai tindak lanjut dari jawaban Adam Matan , /proc/<pid>
cap waktu direktori seperti itu tidak selalu berguna secara langsung, tetapi Anda dapat menggunakan
awk -v RS=')' 'END{print $20}' /proc/12345/stat
untuk mendapatkan waktu mulai dalam tick sejak sistem boot. 1
Ini adalah unit yang agak rumit untuk digunakan; lihat juga mengonversi jiffies ke detik untuk detailnya.
awk -v ticks="$(getconf CLK_TCK)" 'NR==1 { now=$1; next }
END { printf "%9.0f\n", now - ($20/ticks) }' /proc/uptime RS=')' /proc/12345/stat
Ini akan memberi Anda waktu beberapa detik, yang bisa Anda lewati strftime()
untuk mendapatkan cap waktu (yang bisa dibaca manusia).
awk -v ticks="$(getconf CLK_TCK)" 'NR==1 { now=$1; next }
END { print strftime("%c", systime() - (now-($20/ticks))) }' /proc/uptime RS=')' /proc/12345/stat
Diperbarui dengan beberapa perbaikan dari Stephane Chazelas di komentar; terima kasih seperti biasa!
Jika Anda hanya memiliki Mawk, mungkin mencoba
awk -v ticks="$(getconf CLK_TCK)" -v epoch="$(date +%s)" '
NR==1 { now=$1; next }
END { printf "%9.0f\n", epoch - (now-($20/ticks)) }' /proc/uptime RS=')' /proc/12345/stat |
xargs -i date -d @{}
1 orang proc ; mencari starttime .
ps -p <pid> -o lstart
? Sepertinya itu berhasil, tapi saya tidak yakin mengapa itu bukan jawaban yang jelas dan segera untuk pertanyaan yang sering muncul.