2

Пожалуйста, помогите мне понять этот вывод ps aux

ps aux | grep daniel

root      2564  0.2  0.5   8404  2764 ?        Ss   04:11   0:00 sshd: daniel [priv] 
daniel    2621  0.0  0.2   8404  1424 ?        S    04:11   0:00 sshd: daniel@pts/0  
daniel    2622  2.7  0.5   5684  2756 pts/0    Ss   04:11   0:00 -zsh
daniel    2637  0.0  0.2   2760  1064 pts/0    R+   04:11   0:00 ps aux
daniel    2638  0.0  0.1   3372   756 pts/0    S+   04:11   0:00 grep daniel

Я не понимаю первые 2 строки с sshd . Насколько я знаю, я единственный человек, который входит в мой VPS. Так почему же появляются ДВА экземпляра sshd ?

Также, пожалуйста, поправьте меня, если я ошибаюсь. -zsh - потому что я ssh'd в оболочку zsh, а ps aux и grep - потому что это команды, которые я только что выполнил.

2 ответа2

4

Первый процесс - это дочерний процесс, запущенный sshd в ответ на ваше соединение, второй - запущенный дочерний процесс, который связывает терминал psuedo с сеансом ssh.

Это совершенно нормально, вы заметите, что второй процесс выполняется под вашими учетными данными, тогда как первый принадлежит root. Это помогает предотвратить повышение привилегий - процесс, с которым вы взаимодействуете, обладает вашими привилегиями, поэтому вы не можете использовать его для выполнения привилегированной операции с правами root.

Да, процесс zsh - это ваша оболочка, а grep - ваша текущая команда.

Может быть проще визуализировать отношения между процессами, если вы используете параметр f для ps:

 ps auwxf | less

Это дает вам дерево, показывающее отношения родитель / ребенок.

0

Рассматривали ли вы возможность того, что вы могли случайно выйти из сеанса SSH, но не завершили / не закрыли его? Если нет, попробуйте перезапустить VPS и посмотреть, вернется ли он.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .