Nicht imstande, Prozesse zu finden ungenutzt für eine halbe Stunde
Frage
Sie können U-Bahn-Prozesse erhalten, indem
ps ux
Ich suche einen Weg, Prozesse zu finden, die ich nicht für 30 Minuten gerührt.
Wie kann man Prozesse ungenutzt für eine halbe Stunde finden?
Lösung
Define "unberührt" und "ungenutzt". Sie können viele Dinge mit dem f
Parameter auf ps (1) in BSD-ähnlichen Systemen, die -o
auf Solaris und Sys / V-artigen Systemen erfahren.
Update
Auf den Kommentar reagieren:
Nun, man kann es tun. Betrachten wir zum Beispiel etwas, das eine periodische ps tut, und speichert die CPU-Zeit zusammen mit der Zeit verwendet. (Eigentlich könnte man mit einem C-Programm das besser tun, um die entsprechenden Systemaufrufe rufen, aber das ist wirklich eine Implementierung Detail.) Store Beispielzeit und PID, und achten Sie auf die CPU-Zeit der PID nicht über das entsprechende Intervall geändert hat. Dies könnte auch mit einem awk oder Perl-Programm wie implementiert wird
while true; do
ps _flags_
sleep 30
done | awk -f myprog | tail -f
so, dass jedes Mal awk ein ps
Ausgang bekommt, es mangles es, identifiziert Kandidaten und sendet sie aus durch tail -f
zu zeigen.
Aber dann können Sie auch Daemon Prozesse, die oft nicht aufgerufen werden; es ist mir nicht klar, allein, dass die CPU-Zeit ein gutes Maß ist.
Das ist der Punkt, um zu definieren, was Sie wirklich tun wollen: Es ist wahrscheinlich eine Art und Weise, es zu tun, aber ich kann aus einer Kombination von ps Flags nicht denkt allein , die es tun wird.