ps -l: 정규 표현식은 호의적인 의견만 표시합니다.

ps -l: 정규 표현식은 호의적인 의견만 표시합니다.

sed 정규식을 사용하여 좋은 수준의 프로세스를 추출하는 데 도움이 필요합니다.

대략적인 출력 예

ps -l 4411
<stuff*> NI <*stuff>
<stuff*> 19 <*stuff>

질문

나는 NI와 19를 원해요.

NI와 19를 모두 취득하는 방법을 모르겠습니다. 현재 다음과 같은 자격증을 가지고 있습니다.

ps -l 4411 | \
sed s'#.*\(NI\).*#\1#'g
NI
<*numbers*>

물론 이것은 나에게 "NI"를 제공하고 그것의 바닥을 추출하는 방법을 모릅니다.

답변1

sed또는 다른 명령줄 도구(예: )를 사용하지 않아도 됩니다 awk. 동일한 ps명령을 사용하여 열을 지정할 수 있습니다.

ps -o ni 4411
#or 
ps -o nice 4411

그러면 다음과 같은 내용이 표시됩니다.

 NI
 19

정말로 명령줄 도구를 사용하려면 를 사용해야 합니다 awk.

이것이 반환되는 경우 ps -l 4411:

F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY        TIME CMD
0 S  1000 22150  4822  0  80   0 -  2773 sigsus pts/4      0:01 /bin/zsh

NI그런 다음 8번째 열을 얻으려면 다음 방법을 사용해야 합니다.

ps -l 22150 | awk '{print $8}'

관련 정보