-u 플래그가 ps에서 작동하지 않는 이유는 무엇입니까?

-u 플래그가 ps에서 작동하지 않는 이유는 무엇입니까?

다음 명령을 실행하고 있습니다 ps.

root@dor-desktop:/home/dor# ps u -t "$(tty)" -u mysql
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
dor       2070  0.0  0.1  22436  5240 pts/0    Ss   20:29   0:00 bash
root      2411  0.0  0.0  56028  1916 pts/0    S    20:45   0:00 su
root      2419  0.0  0.0  19532  2276 pts/0    S    20:45   0:00 bash
root      2488  0.0  0.0   4108   668 pts/0    S    20:51   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --skip-networking --skip-grant-tables --user=mysql --b
mysql     2607  0.0  0.4 146552 19024 pts/0    Sl   20:51   0:00 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/var --use
root      2672  0.0  0.0  15268  1224 pts/0    R+   20:59   0:00 ps u -t /dev/pts/0 -u mysql

명령이 현재 터미널과 관련된 프로세스와 사용자가 누구인지 묻는 것을 볼 수 있습니다 mysql. 그러나 나는 두 가지 유형의 프로세스를 모두 얻습니다!

어떻게 헤어질 수 있나요? 나는 사용자가 시작한 프로세스만을 원합니다 mysql.

ps -C mysqld필요한 작업을 수행하는 다음 명령을 찾았 지만 첫 번째 명령의 문제점을 이해하고 싶습니다.

답변1

그러나 나는 두 가지 유형의 프로세스를 모두 얻습니다!

매뉴얼 페이지를 고려하면 다음과 같습니다.

아래 설명된 경우를 제외하고 프로세스 선택 옵션이 추가됩니다. 기본 선택을 취소하고 선택한 프로세스를 표시할 프로세스 집합에 추가합니다. 따라서 주어진 선택 기준을 충족하는 경우 프로세스가 표시됩니다.

답변2

~처럼호크 라킨 설명했다,이것은 정상입니다. 이 문제를 해결하는 간단한 방법은 출력을 구문 분석하는 것입니다 ps.

ps u -t "$(tty)" | gawk '$1 == "mysql" || $1 == "USER"' 

관련 정보