Ошибочно было указано nano в начале ps -e | grep ssh -агент

Команда printfбудет повторять формат столько раз, сколько необходимо, поэтому мы можем просто выполнить

print "%s\0"

Мы можем увидеть это в действии:

$ printf "%s\0" hello there | hdump -8                   
00000000  68 65 6C 6C 6F 00 74 68   hello.th
00000008  65 72 65 00               ere.

$ printf "%s\0" hello there everyone out there | hdump -8
00000000  68 65 6C 6C 6F 00 74 68   hello.th
00000008  65 72 65 00 65 76 65 72   ere.ever
00000010  79 6F 6E 65 00 6F 75 74   yone.out
00000018  00 74 68 65 72 65 00     .there.

Обратите внимание, что также помещает терминальный NUL в конец строки. Если вы этого не хотите, мы можем удалить его, например, с помощьюsed 's/.$//'

$ printf "%s\0" hello there everyone out there | sed 's/.$//' | hdump -8
00000000  68 65 6C 6C 6F 00 74 68   hello.th
00000008  65 72 65 00 65 76 65 72   ere.ever
00000010  79 6F 6E 65 00 6F 75 74   yone.out
00000018  00 74 68 65 72 65        .there
0
15.09.2021, 17:21
1 ответ

Версия nano для macOS не любит, когда ее стандартным выводом является канал. Ну, ничего страшного. Просто убей. Откройте другую вкладку терминала и запустите

pgrep nano

Если на выходе одно число, есть только один нанопроцесс, так что уничтожьте его.

pkill nano

Если pgrepпоказывает несколько процессов, вам нужно определить, какой из них нужно убить. Беги

ps -eww |grep nano

Найдите строку, содержащую nano ps -e. Первое число в этой строке — это идентификатор процесса. Скопируйте -, вставьте этот номер и передайте его команде kill. Например, если вы видите

27629 ttys000    0:00.00 nano ps -e

, затем запустите

kill 27629

Процесс grep завершится автоматически, когда -левая сторона конвейера умрет.

Вы могли бы сделать все это и вернуть свой терминал. Вы все еще можете сделать это сейчас, это убьет некоторые бесполезные процессы (, но, конечно, это не вернет ваш терминал ).

Процесс агента ssh -работает нормально. Это идет с вашей сессией macOS. Вы не должны запускать ssh-agent -kв macOS, и система не устанавливает SSH_AGENT_PIDтак, что если вы запустите ssh-agent -k, это фактически ничего не сделает.

1
15.09.2021, 20:55

Теги

Похожие вопросы