ps 출력에서 ​​열 이름 비활성화


23

ps -p명령 출력 형식을 지정하는 방법은 무엇입니까?

나에게 이런 것을 보여주지 않으려면 :

PID TTY                TIME CMD

PID 만.

Linux를 사용하고 있습니다.

답변:



21

를 사용하여 --no-headers헤더 행을 생략하십시오.

원본 출력 :

ps
  PID TTY          TIME CMD
27027 pts/0    00:00:00 bash
27071 pts/0    00:00:00 ps

--no-headers:

ps --no-headers
27027 pts/0    00:00:00 bash
27072 pts/0    00:00:00 ps

와 결합 -p:

ps -p 1 --no-headers
    1 ?        00:00:33 systemd

이것을 명확하게 문서화 하는 man페이지 ps:

man ps

[snip]

 --no-headers
          Print no header line at all.  --no-heading is an alias for this option.

2
macOS에서는 작동하지 않습니다. Naturall -____-
Avindra Goolcharan

과연. MacOS에서는 작동하지 않을 것으로 예상되었습니다. 오리지널 포스터에서 강조한 리눅스에만 관한 질문.
steve

2
np 스티브. 미래 독자들을 위해 여기에 문서화하십시오. BSD와 Linux utils의 사소한 차이점은 매우 자극적입니다. SED는 최악
Avindra Goolcharan

알았어. 답변에 MacOS 솔루션을 포함시키는 방법에 대한 의견이 있으시면 기꺼이 수정하겠습니다!
스티브

2
특정 열 헤더의 =경우 열 이름 뒤에 o플래그 를 넣는 것이 플랫폼 간 방법입니다. 예를 들어 헤더없이 ps -p ${pid} -o state=프로세스 상태를 표시합니다 ${pid}. (어떤이 : 무엇을 허용 대답 상태입니다)
Avindra Goolcharan

2

용도

ps -p <PIDs> --no-headers

헤더가없는 PID 목록을 가져옵니다.


-1

PID 만 목록을 얻으려면 다음을 사용하십시오.

ps -eo pid

man ps가능한 열에 대해서는 '표준 형식 지정자'섹션을 참조하십시오 .

개인적으로 저는 솔라리스가 -o인수 에 사용할 수있는 열을 보여주는 방식을 좋아합니다 .

ps: option requires an argument -- o
usage: ps [ -aAdefHlcjLPyZ ] [ -o format ] [ -t termlist ]
        [ -u userlist ] [ -U userlist ] [ -G grouplist ]
        [ -p proclist ] [ -g pgrplist ] [ -s sidlist ] [ -z zonelist ] [-h lgrplist]
  'format' is one or more of:
        user ruser group rgroup uid ruid gid rgid pid ppid pgid sid taskid ctid
        pri opri pcpu pmem vsz rss osz nice class time etime stime zone zoneid
        f s c lwp nlwp psr tty addr wchan fname comm args projid project pset lgrp

1
표시되는 헤더를 제거하는 문제는 해결되지 않습니다.
Kusalananda

그것이 바로 PID 표시 만 해석하는 방법입니다. 일부는 단지 하나의 열을 선택하거나 해석하는 것처럼 값만 해석하여 해석 할 수 있습니다.
Lambert
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.