Adam Matan'ın cevabının bir takibi olarak , /proc/<pid>
yönetmenin zaman damgası mutlaka doğrudan yararlı değildir, ancak
awk -v RS=')' 'END{print $20}' /proc/12345/stat
sistem açılışından bu yana saat kenelerinde başlangıç zamanını almak için. 1
Bu kullanımı biraz zor bir birimdir; ayrıca bkz saniyeye jiffies dönüştürmek detaylar için.
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
Bu size strftime()
(insan tarafından okunabilir veya başka türlü) bir zaman damgası almak için geçebileceğiniz saniyeler vermelidir .
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
Yorumlarda Stephane Chazelas'ın bazı düzeltmeleri ile güncellendi; her zamanki gibi teşekkürler!
Sadece Mawk'iniz varsa, belki deneyin
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 adam proc ; starttime için arama .
ps -p <pid> -o lstart
? İşe yarıyor gibi görünüyor, ancak bu sorunun ortaya çıktığı birçok kez neden hemen açık bir cevap olmadığını bilmiyorum.