ps -e grep ssh-agent 시작 부분에 nano를 잘못 넣었습니다.

ps -e grep ssh-agent 시작 부분에 nano를 잘못 넣었습니다.

제목에서 말했듯이 실수로 다음을 실행했습니다.

nano ps -e | grep ssh-agent

이제 올바르게 실행하면 ps -e | grep ssh-agent다음이 표시됩니다.

# ps -e | grep ssh-agent
 1613 ??         0:00.05 /usr/bin/ssh-agent -l
27195 ttys000    0:00.00 grep ssh-agent

갇혀 있는 명령 상태에서 벗어나려면 세션을 종료해야 합니다. 돌이켜보면 다시 실행할 수도 있었을 것 같아요.

내가 시도한 것은 다음과 같습니다.

# ssh-agent -k
unset SSH_AUTH_SOCK;
unset SSH_AGENT_PID;

그러면 나는 다음을 얻습니다:

SSH_AGENT_PID not set, cannot kill agent

그런 다음 다음을 시도했습니다.

ps -ef | grep ssh-agent

이제 나는 이것을 가지고 있습니다 :

# ps -ef | grep ssh-agent
  501  1613     1   0 Sun07PM ??         0:00.06 /usr/bin/ssh-agent -l
  501 27629 26750   0 12:06PM ttys000    0:00.01 grep ssh-agent 

누구든지 이 문제를 해결하도록 도와줄 수 있나요? 제가 잘 아는 분야가 아니기 때문에 더 이상 이 문제를 다루고 싶지 않습니다.

답변1

macOS의 nano 버전은 표준 출력이 파이프인 것을 좋아하지 않습니다. 글쎄, 별거 아니야. 그냥 죽여라. 다른 터미널 탭을 열고 실행하십시오.

pgrep nano

출력이 단일 숫자인 경우 이 하나의 나노프로세스만 있으므로 종료합니다.

pkill nano

여러 프로세스가 표시 되면 pgrep어느 프로세스를 종료할지 결정해야 합니다. 달리기

ps -eww |grep nano

가 포함된 행을 찾습니다 nano ps -e. 줄의 첫 번째 숫자는 프로세스 ID입니다. 해당 번호를 복사하여 붙여넣고 kill명령에 전달합니다. 예를 들어 보면

27629 ttys000    0:00.00 nano ps -e

그런 다음 실행

kill 27629

파이프의 왼쪽이 종료되면 grep 프로세스가 자동으로 종료됩니다.

이 작업을 수행하고 터미널을 다시 가져올 수도 있었습니다. 지금도 이 작업을 수행할 수 있으며 일부 쓸모없는 프로세스가 종료됩니다(물론 터미널이 복구되지는 않습니다).

ssh-agent 프로세스를 실행하는 것은 정상입니다. macOS 세션에서 작동합니다. macOS에서 실행 해서는 안 되며 ssh-agent -k시스템이 설정되지 않으므로 SSH_AGENT_PID실행해도 ssh-agent -k실제로는 아무 작업도 수행되지 않습니다 .

관련 정보