Linux - Bir işlem başladığında nasıl görebilirim?


23

Pid'i tanıdığımı varsayarak bir sürecin ne zaman başladığını nasıl görebilirim. (Linux'ta)

Yanıtlar:


30

Yalnızca başlangıç ​​saatini istiyorsanız, alanı seçip başlığı kullanarak başlıkları bastırabilirsiniz:

 ps -p YOURPID -o lstart=

çıktı şöyle görünecek:

 Mon Dec 14 17:17:16 2009

hangi ctime(3)formatta ve ilgili bölümleri ayırmak için onu çözümleyebilirsiniz.

Diğer başlangıç gibi alanlar start, stime, bsdstartve start_timeyaş süresi (24 saat sonra sadece tarih, örneğin gösterilir).

Ancak, daha fazla ayrıştırma olmadan bunları yeni başlatılan işlemler için doğrudan kullanabilirsiniz:

ps -p YOURPID -o stime=

hangi gibi bir şey çıktı:

09:26

Bu da bir mac üzerinde çalışıyor!
Brad Parks


8

awk '{print $22}' /proc/$pid/stat - size açılıştan sonra jiffies başlangıç ​​zamanı verir


Güzel cevap karanlık!
Wzzrd

Bana bunu çöz. '17: 57 'çalışma zamanına sahip bir sistemin' 727975 'başlangıç ​​zamanına sahip bir süreci vardır. Görünüşe göre işlem 8 gün sonra başladı.
Scott Pack

1
Aslında jiffies (100 / sn)
MarkR

1
Yol çok karanlık! Ve ayrıca, şimdi önyükleme zamanına bakmalı ve jürileri saniyelere dönüştürmek için matematiği yapmalı ve saat zamanı elde etmek için ofseti hesaplamalısınız. Kolay, ama çok fazla adım. Chopper3'ün cevabına bakınız.
sonraki duyuruya kadar duraklatıldı.

Saniyedeki jiffy miktarı HZ sistem değişkeninde saklanır. Çoğunlukla 100'dür. Kabukta hesaplamak için bunu kullanabilirsiniz: stackoverflow.com/a/44524937/1950345
reichhart

0

openvpnAna bilgisayarda belirli bir adla (örneğin ) tek bir işlem varsa , şunları yapabilirsiniz:

ps -p `pgrep openvpn` -o lstart=

-1

ps -f | grep demenin bir yolu da akıllıca söyleyebileceğin diğer bilge

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.