예를 들어Postgres 프로세스 명령줄은 다음과 같습니다.
postgres 794 1 0 Nov06 ? 00:00:03 /usr/pgsql-9.3/bin/postgres -D /var/lib/pgsql/9.3/data -p 5432
postgres 857 794 0 Nov06 ? 00:00:00 postgres: logger process
postgres 871 794 0 Nov06 ? 00:00:00 postgres: checkpointer process
postgres 872 794 0 Nov06 ? 00:00:00 postgres: writer process
postgres 873 794 0 Nov06 ? 00:00:00 postgres: wal writer process
postgres 874 794 0 Nov06 ? 00:00:03 postgres: autovacuum launcher process
postgres 875 794 0 Nov06 ? 00:00:07 postgres: stats collector process
콜론( :
)은 왜 있는 걸까요?
답변1
왜냐하면 에 따르면문서:
대부분의 Unix 플랫폼에서 PostgreSQL은 개별 서버 프로세스를 쉽게 식별할 수 있도록 ps에 의해 보고된 명령 제목을 수정합니다.
이는 Postgres에만 국한된 것이 아닙니다. 모든 프로세스는 읽기/쓰기 메모리에 저장된 명령줄 인수를 수정할 수 있습니다. 이는 ps
*로 표시됩니다.컬은 비밀번호가 ps 출력에 나타나지 않도록 어떻게 보호합니까?또 다른 예를 들어보겠습니다.
*링크된 질문의 댓글에 명시된 바와 같이회의프로세스의 읽기-쓰기 메모리 외부에 프로세스의 원래 명령줄 매개변수를 저장하고 ps
프로세스가 읽기-쓰기 메모리에 수행한 변경 사항에 관계없이 해당 원래 매개변수를 보고하는 UNIX 시스템 표준을 준수합니다. 이는 매우 드물지만 불가능하거나 전례가 없는 것은 아닙니다. 따라서 Postgres 문서에는 "대부분의 Unix 플랫폼" 한정자가 있을 수 있습니다.
답변2
이는 기본 프로세스와 하위 프로세스를 구별하기 위한 시각적 구분에 지나지 않습니다.