Zsh
ps -e 開頭誤有nano |grep ssh 代理
就像我在標題中所說,我不小心執行了這個:
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
它實際上不會做任何事情。