ps
예상대로 작동하지 않는 이유를 이해하려고 노력하고 있습니다 . 매뉴얼 페이지에서 다음 명령이 표시되어야 하며 ppid
항목 lstart
이 lstart
순서대로 정렬되어 있어야 합니다. 그러나 세 개의 다른 터미널에서 동일한 명령을 실행하면 다음과 같습니다.
첫 학기:
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
두 번째 용어:
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은 세 용어 모두 동일하지만 시작 시간이 다릅니다. 프로세스가 다르지만 여러 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