В строках, выведенных программой last, указан не только момент регистрации пользователя в системе, но и момент завершения работы. Можно представить Linux как закрытое помещение: чтобы начать работу, нужно сначала войти в систему (зарегистрироваться, пройти процедуру идентификации ), а когда работа закончена, следует из системы выйти.
В том случае, если в систему вошло несколько пользователей, каждый из них должен выйти, завершив работу, причем не имеет значения, разные это пользователи или “копии” одного и того же.
Вход пользователя в систему означает, что нужно принимать и выполнять его команды и возвращать ему отчеты о выполненных действиях, например, предоставив ему интерфейс командной строки. Выход означает, что работа от имени данного пользователя завершена и более не следует принимать от него команды. Весь процесс взаимодействия пользователя с системой от момента регистрации до выхода называется сеансом работы . Причем если пользователь входит в систему несколько раз под одним и тем же именем, ему будут доступны несколько разных сеансов работы, не связанных между собой.
В наших примерах Иван зарегистрирован в системе дважды: на первой и второй виртуальных консолях. Чтобы завершить работу на любой из них, ему достаточно в соответствующей командной строкe набрать команду logout
:
[ivan@localhost ivan]$ logout
Welcome to Some Linux / tty1
localhost login:
В ответ на эту команду вместо очередного приглашения командной строки возобновляется приглашение к регистрации в системе. На данной виртуальной консоли работа с Иваном завершена, и теперь здесь снова может зарегистрироваться любой пользователь.
Есть и другой, еще более ”немногословный” способ сообщить системе, что пользователь хочет завершить текущий сеанс работы. Нажав Alt+F2
, Иван попадет на вторую виртуальную консоль, где все еще открыт сеанс для пользователя ”ivan”, и нажмет сочетание клавиш Ctrl+D
, чтобы прекратить и этот сеанс. Нажатие комбинации клавиш Ctrl+D
приводит не к передаче компьютеру очередного символа, а к закрытию текущего входного потока данных. В сущности, командная оболочка вводит команды пользователя с консоли, как если бы она читала их построчно из файла. Нажатие Ctrl+D
сигнализирует ей о том, что этот “файл” закончился, и теперь ей неоткуда больше считывать команды. Такой способ завершения аналогичен явному завершению командной оболочки командой logout
.
Простейшие команды | Тесты по теме: "Сеанс работы в Linux" |