-p
Linux에서 이 옵션을 생략 하면 ps
숫자가 암시적으로 제공됩니다.
man ps
설명하다
123 Identical to --pid 123.
그리고
--pid pidlist
Select by process ID. Identical to -p and p.
그러나 여전히 다른 출력을 제공합니다.
test@debian:~$ ps 26379
PID TTY STAT TIME COMMAND
26379 pts/14 Ss 0:00 bash
test@debian:~$ ps -p 26379
PID TTY TIME CMD
26379 pts/14 00:00:00 bash
이것이 어딘가에 문서화되어 있습니까?
답변1
이는 구현에 따라 다릅니다 ps
.
적어도FreeBSD 추신그리고procps ps, Linux에서 사용됨:
1 UNIX options, which may be grouped and must be preceded by a dash.
2 BSD options, which may be grouped and must not be used with a dash.
3 GNU long options, which are preceded by two dashes.
그래서 당신이 할 때 :
ps 123
ps
BSD 스타일을 원한다고 가정하고 출력 프로세스 상태 열에 추가 하고 실행 파일 이름 대신 STAT
명령 args를 표시합니다 . SysV 스타일을 원한다고 가정하고 을 사용 하십시오 .COMMAND
CMD
-p 123
ps
맥 OSX ps이 동작은 구현에 의해 문서화되지 않지만 FreeBSD와 유사하게 동작합니다 ps
.
많은 구현에서 다음을 사용하여 기본 스타일을 재정의할 수 있습니다.PS_FORMAT
바꾸다:
# SysV style when using dash `-` in arguments
$ ps -p 1
PID TTY TIME CMD
1 ? 00:00:01 systemd
# Force BSD style even using dash `-` in arguments
$ PS_FORMAT=DefBSD ps -p 1
PID TTY STAT TIME COMMAND
1 ? Ss 0:01 /sbin/init