- unixforum.org
- Консольная команда завершение сеанса пользователя
- Консольная команда завершение сеанса пользователя
- Re: Консольная команда завершение сеанса пользователя
- Re: Консольная команда завершение сеанса пользователя
- Re: Консольная команда завершение сеанса пользователя
- Re: Консольная команда завершение сеанса пользователя
- Re: Консольная команда завершение сеанса пользователя
- Re: Консольная команда завершение сеанса пользователя
- Как выкинуть из системы пользователя по SSH в Linux
- Выкинуть пользователя из сеанса SSH
- Отправить сообщение перед завершением сеанса
- Принудительно завершить сеанс SSH, если SIGNHUP не работает
- Вы также можете выйти из выбранного сеанса пользователя, если у пользователя более одного сеанса SSH
- Выключение Linux из командной строки
- Процесс выключения Linux
- Синтаксис и опции shutdown
- Выключение компьютера в Linux
- 1. shutdown
- 2. reboot
- 3. halt
- 4. poweroff
- 5. SysRQ
- 6. Графический интерфейс
- Выводы
- Завершить сессию другого пользователя.
unixforum.org
Форум для пользователей UNIX-подобных систем
- Темы без ответов
- Активные темы
- Поиск
- Статус форума
Консольная команда завершение сеанса пользователя
Модератор: SLEDopit
Консольная команда завершение сеанса пользователя
Сообщение vlav » 13.03.2010 16:05
Re: Консольная команда завершение сеанса пользователя
Сообщение SLEDopit » 13.03.2010 16:57
(no confirmation, no shutdown/logout only, force now) — что значат цифры
Или, если нужно вырубить иксы вообще, то добавляем в sudo юзеру разрешения на k(g,x,etc)dm и
Re: Консольная команда завершение сеанса пользователя
Сообщение vlav » 14.03.2010 03:00
Re: Консольная команда завершение сеанса пользователя
Сообщение SLEDopit » 14.03.2010 03:41
Re: Консольная команда завершение сеанса пользователя
Сообщение zombie » 14.03.2010 10:27
Re: Консольная команда завершение сеанса пользователя
Сообщение vlav » 14.03.2010 11:06
/usr/bin/killall -9 -u user
реально все убивает, но корректно конечно не завершает
Re: Консольная команда завершение сеанса пользователя
Сообщение BIgAndy » 14.03.2010 12:53
Вместо SigKill импользутей SigTerm. Будет удивать корректнее.
Хотя за три года использования особых проблем с таким (sigkill) завершением замечено не было.
Зы. Смежный вопрос: Как кто отслеживает активность пользователя и в случае ее отсутствия (событий клавиатуры или мыши) прибивать процессы пользователя?
Источник
Как выкинуть из системы пользователя по SSH в Linux
Главное меню » Linux » Как выкинуть из системы пользователя по SSH в Linux
Отлично. Но что, если вы хотите отключить какого-либо другого пользователя с помощью SSH-соединения?
В этой быстрой подсказке мы покажем вам, как вы можете выгнать любого пользователя из системы.
Выкинуть пользователя из сеанса SSH
Сначала проверьте список пользователей, вошедших в систему на вашем сервере Linux. Это можно сделать разными способами. Мы будем использовать команду who с опцией -u. Этот параметр отображает идентификатор процесса сеанса оболочки входа пользователей.
Вот пример вывода:
Теперь представьте, что мы хотим прекратить использование сеанса alex в SSH. Идентификатор процесса его сеанса оболочки – 27583. Если вы завершите сеанс оболочки входа в систему, пользователь будет отключен.
Для этого вы можете использовать команду kill для отправки сигнала SIGHUP. Этот сигнал используется для сообщения о том, что терминал пользователя отключен. Он также эффективно отключает все процессы в сеансе от управляющего терминала.
Конечно, чтобы выполнить такое действие, вы должны быть пользователем root или sudo.
Есть несколько вещей, которые вам следует знать и делать.
Отправить сообщение перед завершением сеанса
Это хорошая идея, чтобы проинформировать конечного пользователя, прежде чем вы завершите его/ее сеанс. Вы можете использовать команду записи, чтобы быстро отправить сообщение пользователю следующим образом:
Принудительно завершить сеанс SSH, если SIGNHUP не работает
Если сигнал SIGHUP не работает, отправьте сигнал SIGKILL.
Вы также можете выйти из выбранного сеанса пользователя, если у пользователя более одного сеанса SSH
Если один и тот же пользователь входит в систему из более чем одной системы или терминала, это влияет только на сеанс, который вы убиваете. Это не удалит пользователя из всех сеансов.
Это тот случай, когда ваш сеанс SSH зависает по какой-то причине, например, при отключении сети. Вы можете убить терминал и открыть еще один сеанс SSH с нового терминала, но теперь вы видите, что дважды вошли в систему.
В таком случае вы можете закрыть сеанс, который больше не должен быть активным.
Вы можете определить, какого пользователя начать, по времени входа в журнал, который виден в выходных данных whoкоманды. Не волнуйтесь, в худшем случае вы откажетесь от текущего сеанса. Но тогда вы можете войти снова.
Надеемся, этот быстрый совет помог вам выйти из сеанса SSH в Linux. Ваши вопросы и предложения приветствуются.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Выключение Linux из командной строки
Выключение компьютера — действие, с которым обычные пользователи сталкиваются чуть ли не каждый день. Если выключать сервер приходится довольно редко, то обычные, десктопные компьютеры подвержены этой операции очень даже часто. Большинство пользователей выключают linux в графическом интерфейсе системы. В окружении рабочего стола KDE это делается через главное меню, а в Gnome и Unity даже есть специальная кнопка на панели для решения этой задачи.
Но не всегда есть возможность выключить компьютер linux таким образом. Например, если окружение рабочего стола не работает, то больше ничего не остается, кроме того, чтобы выполнять выключение компьютера из командной строки. К тому же выключение компьютера linux через терминал единственно возможный способ для серверов, где нет графического интерфейса. Как вы увидите, этот способ также намного гибче обычного выключения, поскольку вы можете настроить нужное время отключения, или же выключить компьютер, дождавшись завершения работы определенной программы.
Процесс выключения Linux
Часто для выключения Linux из терминала используется утилита shutdown. Есть также команды poweroff, halt, но они для нестандартных случаев. Также выключить linux из консоли можно с помощью сочетаний клавиш SysRQ. Но сначала давайте рассмотрим синтаксис команды shutdown. Естественно, команда shutdown в Linux или любая другая не самостоятельно завершает работу системы и выключает компьютер. Она всего лишь передает запрос на выключение системе инициализации, а затем ядру. А уже они выполняют ряд сложных операций по подготовке и выключению компьютера. Если кратко, то вот они:
- Завершение процессов пользователя.
- Сигнал SIGTERM всем процессам.
- Сигнал SIGKILL всем процессам.
- Монтирование файловых систем в режиме только для чтения.
- Подготовка внешних устройств к отключению.
- Блокировка пространства пользователя, чтобы гарантировать, что ни один код пользователя больше не будет запущен.
- Завершение работы и отключение питания большинства периферических устройств.
- Отключение питания компьютера.
Теперь вы понимаете суть процесса выключения и то почему нельзя просто выдернуть шнур питания с розетки. Если это сделать, компьютер отключится моментально и не выполнит всех необходимых операций, а это может грозить потерей не сохраненных или даже недавно сохраненных данных, повреждением файловой системы и т д. Поэтому желательно выключать компьютер правильно с помощью shutdown или других специальных утилит.
Синтаксис и опции shutdown
Синтаксис команды очень простой:
$ shutdown [опции] [время] [сообщение]
Опции задают параметры отключения, их мы рассмотрим ниже. Время можно задавать в виде чч:мм в 24 часовом формате. Также можно использовать запись +минуты, указывающую через сколько минут от текущего момента нужно выключить компьютер с Linux. Также доступна константа now, указывающая, что выключать нужно прямо сейчас. Параметр сообщение позволяет задать сообщение, которое будет выведено в терминал перед выключением.
Вот основные опции утилиты:
- —help — вывести справку по программе
- -H, —halt — отключить питание, не завершая процессы и не перемонтируя файловые системы
- -P, —poweroff — нормальное выключение
- -r, —reboot — перезагрузка
- -k — не выполнять реальных действий, а только вывести сообщение
- —no-wall — выключить компьютер, но не выводить сообщение
- -c — отменить запланированное выключение linux из командной строки
Вот в принципе и все опции утилиты, их больше чем достаточно для такого простого действия. Теперь можно переходить к примерам, но сначала давайте рассмотрим, что же происходит во время включения Linux.
Выключение компьютера в Linux
1. shutdown
Самая простая и самая часто используемая команда выключения компьютера linux, отключит компьютер немедленно:
sudo shutdown -h now
Как видите, используется обычное выключение, и константа времени now, тоесть сейчас.
Теперь попробуем запланировать выключение компьютера linux через пять минут:
sudo shutdown -h +5 «Компьютер будет выключен через 5 минут»
Мы запланировали вывод сообщения перед выключением. Чтобы отменить команду shutdown выполните:
sudo shutdown -c
Точно так же мы можем указать точное время выключения, например в девять вечера:
sudo shutdown -h 21:00
Как я уже говорил, не только команда shutdown linux умеет выключать компьютер, есть еще несколько утилит способных на это. Рассмотрим их тоже.
2. reboot
Команда reboot обычно используется для перезагрузки системы, но она также умеет выключать компьютер. Мы не будем ее подробно рассматривать, потому, что она еще проще команды shutdown. Для выключения нужно задать опцию -p:
3. halt
Эта команда тоже выключает компьютер. Только делает она это очень по-своему. Она не выполняет никаких подготовительных действий перед выключением, а просто отключает питание:
Использование halt может повредить систему
4. poweroff
Это аналог halt, делает в точности то же самое:
5. SysRQ
Помните, в начале статьи, я говорил о сочетании клавиш для включения компьютера? Рассмотрим этот вопрос подробнее.
SysRQ — это подсистема, реализованная на уровне ядра. Ядро обрабатывает все нажатия клавиш, а с помощью этой подсистемы, оно может принимать от пользователя команды, даже когда система полностью зависла. Основное предназначение этой подсистемы — работа с компьютером в проблемных ситуациях, например, если вы думаете что ваш компьютер заразил вирус, или компьютер завис и его нужно выключить. Для доступа к SysRq используются сочетания клавиш Alt+PrtScr+номер
Самое интересное, что мы можем выполнить безопасное выключение компьютера linux. Для этого зажмите клавиши Alt + PrtScr и поочередно нажимайте:
- R — разблокировать клавиатуру;
- E — послать всем процессам сигнал SIGTERM;
- I — послать всем процессам сигнал SIGKILL;
- S — перенести все данные из кеша файловых систем на диск;
- U — перемонтировать файловые системы только для чтения;
- B — перезагрузить.
Также вместо всего этого можно воспользоваться сочетанием клавиш Alt+PrtScr+O, в таком случае, вся процедура будет выполнена автоматически, эта команда поддерживается не всеми ядрами.
6. Графический интерфейс
Выключить компьютер в графическом интерфейсе ещё проще. Для этого кликните по иконке выключения в правом верхнем углу, а затем выберите Выключить/Завершить сеанс, затем Выключение.. и снова Выключить:
Выводы
Теперь вы знаете все что нужно, о том, как выключить Linux через терминал. Если вас застигнет врасплох ошибка или зависание компьютера, вы знаете что делать. Если остались вопросы — пишите в комментариях!
Источник
Завершить сессию другого пользователя.
killall -u user -15
killall -u user -9
Как-то слишком очевидно и жестоко.
Ведь завершает кто-то же сессию по нажатию кнопки «Завершить сеанс. » в Ubuntu например.
Кто? Как?
про кеды не знаю
Хорошо — пусть только гномовскую. Но завершить-то как? То что делает это gnome-session вроде да — ясно. А как его потдтолкнуть к этой мысли не заходя в графический сеанс пользователя?
Дома я неоригинален:
А если попробовать
su -l имя_пользователя
>по wall посылаю предупреждение
А его видно пользователям X?
Не, в Иксах не видно. Для иксов xmessage, но для этого надо в иксах стать этим пользователем.
** (gnome-session-save:6701): WARNING **: Failed to call logout: The name org.gnome.SessionManager was not provided by any .service files
Но ГУЙ не нужен.
Тут вот какое дело — домочадцы не разлогиниваются после того как поюзают домашнюю машину. А когда у дочери открыт и стоит на паузе Totem, а у жены открыта Opera с десятком вкладок, пашет Beagle и Deluge, то в Nexuiz уже играть не очень комфортно.
Заходить и разлогинивать их руками лень. Какой бы скриптик написать, что бы запустил и остался в одиночестве, хотя бы на компьютере )))
Кстати, а как вы боретесь с кодировкой в xmessage — у меня русские буквы не отображаются. У Убунтологов есть notify-send конечно, но хотелось бы общих решений.
Мои юзеры english знают) Встречались скрипты на перле использующие libnotify. Можно рыть в эту сторону.
ну найти и убить все процессы с uid больше 1000 кроме (туту чписок исключений), что сложного?
>Кстати, а как вы боретесь с кодировкой в xmessage — у меня русские буквы не отображаются. У Убунтологов есть notify-send конечно, но хотелось бы общих решений.
1) использовать KOI8-R+фонт соответствующий.
2) использовать gmessage, gxmessage.
Зачем -15, зачем -9? Просто килл ит виз файр. мягко и безболезненно. Остальные если что потом видишь, сделаешь контрольный с -KILL
ну или kdialog, ежели кеды. Русский понимают (в UTF)
Источник