Zsh

ps -e 開頭誤有nano |grep ssh 代理

  • September 15, 2021

就像我在標題中所說,我不小心執行了這個:

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 

有人可以幫我糾正這個嗎?我不想再搞砸了,因為這不是我熟悉的領域。

當標準輸出是管道時,macOS 上的 nano 版本不喜歡它。嗯,沒什麼大不了的。乾脆殺了它。打開另一個終端選項卡並執行

pgrep nano

如果輸出是一個數字,那麼只有這個納米程序,所以殺死它。

pkill nano

如果pgrep顯示多個程序,則需要確定要殺死哪個程序。跑

ps -eww |grep nano

查找包含 with 的行nano ps -e。該行的第一個數字是程序 ID。複製粘貼該數字並將其傳遞給kill命令。例如,如果您看到

27629 ttys000    0:00.00 nano ps -e

然後執行

kill 27629

當管道的左側死亡時,grep 程序將自動終止。

您本可以完成所有這些並取回您的終端。你現在仍然可以這樣做,它會殺死一些無用的程序(但當然它不會讓你的終端恢復)。

執行 ssh-agent 程序是正常的。它與您的 macOS 會話一起使用。你不應該ssh-agent -k在 macOS 上執行,並且系統沒有設置SSH_AGENT_PID,所以如果你執行ssh-agent -k它實際上不會做任何事情。

引用自:https://unix.stackexchange.com/questions/669161