지원 리소스

지원 리소스

내가 입력했고 ps -p 3454 -o command내가 얻은 결과는 다음과 같습니다.

COMMAND
/usr/bin/ssh-agent -D -a /run/user/1000/keyring/.ssh

-D -a여기서은 무슨 뜻인가요 ?

을 사용하면 ps -p 3454 -o comm/run/user.... 출력이 표시되지 않고 명령만 표시됩니다 ssh-agent.

여기서 /run/user....의 의미는 무엇입니까? 또한 comm=comm동일합니까?

답변1

에 따르면ps(1) — 리눅스 매뉴얼 페이지내 테스트에 따르면 이 출력을 명확하게 하는 데 도움이 되는 몇 가지 세부 정보가 있습니다. 이렇게 하면 ps실행 중인 명령 에 무슨 일이 일어나고 있는지 더 잘 이해하는 데 도움이 됩니다 .

당신의 전체 명령은 이것입니다ps -p 3454 -o command

  • ps -p 3454부분은 pid에 대한 활성 실행 프로세스 세부 정보를 가져옵니다.3454
  • -o command부분은 pid에 연결된 실행 중인 프로세스의 실제 명령과 인수를 출력합니다.

pid 세부 정보를 표시하기 위해 이것을 실행했을 때 3453발생한 결과는 다음과 같습니다.SSH 에이전트프로세스. 명령이 스냅샷을 생성할 당시 매개변수를 사용하고 있던 -o command원시 명령 및 인수의 출력을 사용합니다 .ssh-agent-D -aps

just를 사용하면 -o comm실제로 해당 pid의 실행 파일 이름만 출력됩니다. 이는 실제로 쿼리 중인 프로세스의 다양한 세부 정보를 의미 -o comm하고 표시합니다.-o command


지원 리소스

  • ps(1) — 리눅스 매뉴얼 페이지

    • comm:

      • 명령 이름을 표시합니다(실행 파일 이름만). 명령 이름에 대한 수정 사항은 표시되지 않습니다. 이 열의 출력에는 공백이 포함될 수 있습니다.
    • command:

      • 모든 인수와 함께 명령을 문자열로 표시합니다. 인수에 대한 수정 사항이 표시될 수 있습니다. 이 열의 출력에는 공백이 포함될 수 있습니다.

답변2

"-D -a"는 PS와 아무 관련이 없습니다. PS는 프로세스를 나열하고 있으며 실행 중인 프로세스는 "/usr/bin/ssh-agent -D -a /run/user/1000/keyring/.ssh"입니다. 즉 -D -a는 ssh-agent에 전달된 매개변수입니다. .

ssh-agent와 관련하여: -D는 포그라운드에서 실행을 의미하고 -a는 "모든 주소에 바인딩"을 의미합니다.

내 Ubuntu 시스템에는 2개의 "ssh-agent" 프로세스가 있습니다. 하나는 백그라운드에 있고 아마도 내가 수행 중인 명령줄 작업과 관련이 있는 것으로 보이며, 두 번째 프로세스는 데스크톱 세션의 클라이언트이므로 포그라운드에 있을 가능성이 높습니다. 그것과 상호 작용할 수 있습니다. (실제로 -D -a 옵션을 사용하여 프로세스와 관련된 프로세스를 종료하고 데스크탑에서 ssh 세션을 수행하면 다시 인증하라는 메시지가 표시되고 해당 프로세스가 다시 시작됩니다.)

관련 정보