ps
期待どおりに機能しない理由を理解しようとしています。マニュアルページに次のコマンドが表示され、ppid
項目lstart
がlstart
順番に並べられている必要があります。ただし、3つの異なる端末で同じコマンドを実行すると、次のようになります。
最初の学期:
gauthier@sobel:~/ $ ps -o ppid -o lstart --sort=lstart
PPID STARTED
21142 Tue Dec 16 13:45:18 2014
3383 Mon Dec 15 15:40:35 2014
2番目の用語:
gauthier@sobel:~/bin $ ps -o ppid -o lstart --sort=lstart
PPID STARTED
19595 Tue Dec 16 13:45:03 2014
3383 Mon Dec 15 14:49:14 2014
第三学期:
gauthier@sobel:~ $ ps -o ppid -o lstart --sort=lstart
PPID STARTED
3383 Tue Dec 16 13:39:05 2014
16357 Tue Dec 16 13:45:12 2014
ここで理解されていないいくつかのことがあります。
項目 1 と 2 の項目は、最新の項目から先にソートされます。項目3の項目は、古い項目からソートされる。アルファベット順を考慮しても順番が異なります。
PPID 3383 は、3 つの用語すべてが同じですが、開始時間が異なります。プロセスは異なりますが、複数のPPIDが同じである可能性がありますか?
システムメッセージ:
$ ps -V
procps-ng version 3.3.9
$ uname -a
Linux sobel 3.13.0-37-generic #64-Ubuntu SMP Mon Sep 22 21:28:38 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
答え1
ps --sort=lstart
lstart
によると、実際にはソートされていません。このサーバーエラーに関するご意見:
lstart
完全なタイムスタンプを提供しますが、ソートキーとして使用することはできません。start_time gives
一般的な「過去24時間以内の時間、そうでない場合は日付」列で、ソートキーとして使用できます。
ps
これはのマニュアルページに暗黙的に文書化されており、セクションの下にはリストされていませんが、リストされていますlstart
。OBSOLETE SORT KEYS
start_time
これソースコードこれもサポートされます。行1506で始まる定義を参照してください。
/* Many of these are placeholders for unsupported options. */
static const format_struct format_array[] = {
/* code header print() sort() width need vendor flags */
[...]
{"lstart", "STARTED", pr_lstart, sr_nop, 24, 0, XXX, ET|RIGHT},
[...]
{"start_time", "START", pr_stime, sr_start_time, 5, 0, LNx, ET|RIGHT},
[...]
};
編集する:正解の説明を拡大し、原文から誤解の余地がある部分を削除しました。
答え2
私はgnu / gentooで試してみましたが、そのような問題はありませんでした。ここにあります:
~ # ps -o ppid -o lstart --sort=lstart
PPID STARTED
3851 Mon Dec 15 21:25:51 2014
4037 Mon Dec 15 21:25:52 2014
4042 Tue Dec 16 22:02:24 2014
~ # ps -o ppid -o lstart --sort=lstart
PPID STARTED
3851 Mon Dec 15 21:25:51 2014
4037 Mon Dec 15 21:25:52 2014
4042 Tue Dec 16 22:02:25 2014
~ # ps -o ppid -o lstart --sort=lstart
PPID STARTED
3851 Mon Dec 15 21:25:51 2014
4037 Mon Dec 15 21:25:52 2014
4042 Tue Dec 16 22:02:26 2014
~ # ps -V
procps-ng version 3.3.9
~ # uname -a
Linux 3.12.21-gentoo-r1 #9 SMP Fri Nov 28 18:59:44 CST 2014 i686 Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz GenuineIntel GNU/Linux