Linux завершение сеанса через терминал

Содержание
  1. unixforum.org
  2. Консольная команда завершение сеанса пользователя
  3. Консольная команда завершение сеанса пользователя
  4. Re: Консольная команда завершение сеанса пользователя
  5. Re: Консольная команда завершение сеанса пользователя
  6. Re: Консольная команда завершение сеанса пользователя
  7. Re: Консольная команда завершение сеанса пользователя
  8. Re: Консольная команда завершение сеанса пользователя
  9. Re: Консольная команда завершение сеанса пользователя
  10. Как вы можете выйти через терминал?
  11. 11.10 и выше
  12. 11.04 и предыдущие версии
  13. 11.10 и выше
  14. Как убить процесс Linux
  15. Как происходит завершение процесса?
  16. Как убить процесс Linux?
  17. Как завершить процесс с помощью pkill
  18. Как остановить процесс с помощью killall
  19. Выводы
  20. Выключение Linux из командной строки
  21. Процесс выключения Linux
  22. Синтаксис и опции shutdown
  23. Выключение компьютера в Linux
  24. 1. shutdown
  25. 2. reboot
  26. 3. halt
  27. 4. poweroff
  28. 5. SysRQ
  29. 6. Графический интерфейс
  30. Выводы

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) завершением замечено не было.

Зы. Смежный вопрос: Как кто отслеживает активность пользователя и в случае ее отсутствия (событий клавиатуры или мыши) прибивать процессы пользователя?

Источник

Как вы можете выйти через терминал?

Есть ли команда терминала, которая выведет вас из сеанса рабочего стола и вернет вас к экрану входа?

11.10 и выше

11.04 и предыдущие версии

(через DoR , см. его ответ «Перезагрузка без привилегий sudoer?», чтобы узнать больше о dbus!)

или, альтернативно, вы можете использовать

—force-logout в отличие от просто —logout не будет просить пользователя иметь дело с несохраненными документами и так далее.

это самый простой способ? нет простой однострочной команды, как выход из sudo ?? Я никогда не буду помнить все это.

Да, есть команда с именем logout, но она касается терминала. gnome-session-save — это программа, которая фактически завершает работу gnome-session , которую вы, конечно, можете убить, но это не будет квалифицироваться как выход из системы. 🙂

Также обратите внимание, что эти команды не требуют, чтобы вы были пользователем root.

Вы всегда можете добавить псевдоним в свою систему, если хотите использовать более короткую команду.

/.bash_aliases текстовый редактор или создайте его, если его там нет, и добавьте в него что-то вроде этого:

(.bashrc — это скрипт, который запускается каждый раз при запуске нового виртуального терминала , вам следует настроить все свои постоянные псевдонимы, см. также: Как создать постоянный «псевдоним»? )

Я установил рабочий стол помощника, и ни одно из меню не сработало, даже клавиши F не работали. Мне удалось получить xterm через просмотр с файловым менеджером.

Единственное, что сработало, было:

11.10 и выше

Вот мое личное решение!

В терминале запустите:

в файл! Теперь вам просто нужно выйти из системы!

Похоже, gnome-session-save был переименован в gnome-session-quit 11.10. Все остальное в основном ответе должно все еще работать с этим единственным изменением.

Для сеансов гномов, gnome-session-quit работает хорошо. По умолчанию он запрашивает подтверждение, а затем выходит из системы (т. —logout Е. Аргумент принимается, если он не переопределен —power-off явно). Вы также можете указать команде не запрашивать подтверждение при выходе из системы:

gnome-session-quit действует до 12.04.

Так как в OP не указан менеджер окон / рабочего стола, а gnome-session-quit может работать не со всеми возможностями, вот общий способ X-windows для возврата к экрану входа или выбору, который я использовал несколько раз за последние несколько выпусков:

Читайте также:  Узнать скорость сетевого адаптера linux

Из терминала (вызывается, по-разному, с помощью Alt-F2 + xterm, или Ctrl-T, или Crt-Alt-F1, или щелкая правой кнопкой мыши на рабочем столе в Nautilus и используя ярлык «открыть в терминале» и т. Д. ) тип

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

Я еще не использовал эту power-off функцию gnome-session-quit , как обычно использую shutdown -P now для этой цели.

В Xubuntu (или всякий раз, когда используется сеанс Xfce), вы можете выйти через терминал, используя

Вы должны указать —logout или экран подтверждения выхода будет отображаться. Это будет работать независимо от того, указали ли вы «сеанс Xubuntu» или «сеанс Xfce» при входе в систему Lightdm , поскольку сеанс по-прежнему управляется менеджером сеансов Xfce.

Кроме того, другой вариант также выйдет из системы:

Если эта команда введена, сеанс не сохраняется, поэтому обычно его лучше использовать xfce4-session-logout —logout .

Возможность выхода из системы с помощью терминала будет очень полезна для вас, как и другие опции, такие как приостановка, которые доступны с xfce4-session-logout .

Для получения дополнительной информации смотрите man xfce4-session-logout или справочные страницы Ubuntu онлайн .

Источник

Как убить процесс Linux

Несмотря на то что Linux стабильнее чем Windows, в плане работы программ и различных сервисов, случается всякое и иногда возникает необходимость завершить процесс Linux. Это может понадобиться, если программа завила, когда вы запустили системный сервис в фоне через терминал, а не систему инициализации, а также во многих других случаях, когда убить процесс Linux проще, чем перезагружать всю систему.

В этой статье мы рассмотрим несколько самых распространенных способов завершить процесс Linux. Опишем подробно как происходит остановка процесса и как все сделать правильно.

Как происходит завершение процесса?

Управление процессами в операционной системе Linux осуществляется с помощью сигналов. В том числе и завершение любого процесса. Сигналы передает система, но также их может передавать пользователь с помощью специальных команд или даже сочетаний клавиш в терминале. Когда процессу приходит сигнал о необходимости завершиться, он должен выполнить некоторые подготовительные действия.

Необходимо завершить дочерние процессы, удалить временные файлы, сокеты и так далее. Но в зависимости от сложности ситуации процесс может реагировать не на все сигналы. Рассмотрим основные сигналы, которые используются для завершения процесса:

  • SIGINT — самый безобидный сигнал завершения, означает Interrupt. Он отправляется процессу, запущенному из терминала с помощью сочетания клавиш Ctrl+C. Процесс правильно завершает все свои действия и возвращает управление;
  • SIGQUIT — это еще один сигнал, который отправляется с помощью сочетания клавиш, программе, запущенной в терминале. Он сообщает ей что нужно завершиться и программа может выполнить корректное завершение или проигнорировать сигнал. В отличие от предыдущего, она генерирует дамп памяти. Сочетание клавиш Ctrl+/;
  • SIGHUP — сообщает процессу, что соединение с управляющим терминалом разорвано, отправляется, в основном, системой при разрыве соединения с интернетом;
  • SIGTERM — немедленно завершает процесс, но обрабатывается программой, поэтому позволяет ей завершить дочерние процессы и освободить все ресурсы;
  • SIGKILL — тоже немедленно завершает процесс, но, в отличие от предыдущего варианта, он не передается самому процессу, а обрабатывается ядром. Поэтому ресурсы и дочерние процессы остаются запущенными.

Важно понимать, что нужно дать процессу возможность завершиться корректно. Желательно, чтобы порты и сокеты были освобождены, закрыты и удаленны временные файлы. Поэтому никогда не передавайте сразу SIGKILL. Передавайте сигналы завершения в последовательности, как они перечислены выше.

Сначала Ctrl+C, если это возможно, затем SIGTERM — он хоть и завершает процесс, но делает эту культурно, и только в крайнем случае SIGKILL. А теперь рассмотрим как убить процесс по pid Linux на практике. Если вы всегда используете SIGKILL, тогда на ум приходит такая картинка:

Как убить процесс Linux?

Для передачи сигналов процессам в Linux используется утилита kill. Ее синтаксис очень прост:

$ kill -сигнал pid_процесса

Сигнал представляет собой один из выше перечисленных сигналов для завершения процесса. По умолчанию, если этот параметр не указан, используется сигнал SIGTERM, что является очень правильно. Также нам нужно указать какой процесс нужно завершить. Для этого используется уникальный идентификатор процесса — PID.

Читайте также:  Windows 10 crazy error full

Допустим, у нас выполняется утилита ping. Мы хотим ее завершить с помощью kill. Тогда, сначала мы узнаем ее идентификатор с помощью команды ps:

ps aux | grep ping

В первой строчке отобразится сама утилита ping, а во второй сама программа ps. Берем нужный PID и завершаем процесс с помощью SIGTERM:

kill -TERM 20446

И только если после этой команды процесс продолжил висеть, а это вы можете проверить, выполнив ps. Только теперь можно выполнить SIGKILL:

kill -KILL 20446

Теперь снова проверяем:

Если процесс запущен от суперпользователя, то, естественно, вам нужно использовать sudo. Не всегда удобно уничтожать процесс по его PID, как минимум, потому, что вам этот PID нужно еще узнать. Мы могли бы нагородить сложных конструкций с использованием xargs, чтобы вычислять автоматически pid по имени процесса и сразу же его завершать, но в этом нет необходимости. Уже существуют специальные утилиты.

Как завершить процесс с помощью pkill

Утилита pkill — это оболочка для kill, она ведет себя точно так же, и имеет тот же синтаксис, только в качестве идентификатора процесса ей нужно передать его имя. Утилита сканирует директорию proc и находит PID первого процесса с таким именем, затем отправляет ему SIGTERM. Таким образом, вы можете убить процесс по имени Linux. Например, если мы хотим завершить тот же ping:

Также можно вручную задать тип сигнала:

pkill -TERM ping

Вместо ps, вы можете использовать утилиту pgrep для поиска pid процесса, убедимся что наша программа завершена:

Но если вам программа создала несколько процессов, например, браузер chromium или firefox создают отдельный процесс для каждой из вкладок, то эта утилита мало чем поможет. Тут нужен следующий вариант.

Как остановить процесс с помощью killall

killall работает аналогично двум предыдущим утилитам. Она тоже приминает имя процесса в качестве параметра и ищет его PID в директории /proc. Но эта утилита обнаружит все процессы, с таким именем и завершит их. Например:

Как видите, запущено несколько процессов, осталось остановить процесс Linux с помощью killall:

Команда завершит все запущенные утилиты ping, вы можете убедиться в этом еще раз выполнив pgrep:

Выводы

В этой статье мы рассмотрели как убить процесс Linux. Иногда эта задача может быть очень полезной, но важно понимать, что ее нужно выполнять правильно. Нельзя сказать, что передача SIGKILL вместо SIGTERM очень опасна, но так делать не стоит. Надеюсь, эта информация была полезна для вас.

Источник

Выключение Linux из командной строки

Выключение компьютера — действие, с которым обычные пользователи сталкиваются чуть ли не каждый день. Если выключать сервер приходится довольно редко, то обычные, десктопные компьютеры подвержены этой операции очень даже часто. Большинство пользователей выключают linux в графическом интерфейсе системы. В окружении рабочего стола KDE это делается через главное меню, а в Gnome и Unity даже есть специальная кнопка на панели для решения этой задачи.

Но не всегда есть возможность выключить компьютер linux таким образом. Например, если окружение рабочего стола не работает, то больше ничего не остается, кроме того, чтобы выполнять выключение компьютера из командной строки. К тому же выключение компьютера linux через терминал единственно возможный способ для серверов, где нет графического интерфейса. Как вы увидите, этот способ также намного гибче обычного выключения, поскольку вы можете настроить нужное время отключения, или же выключить компьютер, дождавшись завершения работы определенной программы.

Процесс выключения Linux

Часто для выключения Linux из терминала используется утилита shutdown. Есть также команды poweroff, halt, но они для нестандартных случаев. Также выключить linux из консоли можно с помощью сочетаний клавиш SysRQ. Но сначала давайте рассмотрим синтаксис команды shutdown. Естественно, команда shutdown в Linux или любая другая не самостоятельно завершает работу системы и выключает компьютер. Она всего лишь передает запрос на выключение системе инициализации, а затем ядру. А уже они выполняют ряд сложных операций по подготовке и выключению компьютера. Если кратко, то вот они:

  • Завершение процессов пользователя.
  • Сигнал SIGTERM всем процессам.
  • Сигнал SIGKILL всем процессам.
  • Монтирование файловых систем в режиме только для чтения.
  • Подготовка внешних устройств к отключению.
  • Блокировка пространства пользователя, чтобы гарантировать, что ни один код пользователя больше не будет запущен.
  • Завершение работы и отключение питания большинства периферических устройств.
  • Отключение питания компьютера.
Читайте также:  Если переустановить windows файлы удаляются

Теперь вы понимаете суть процесса выключения и то почему нельзя просто выдернуть шнур питания с розетки. Если это сделать, компьютер отключится моментально и не выполнит всех необходимых операций, а это может грозить потерей не сохраненных или даже недавно сохраненных данных, повреждением файловой системы и т д. Поэтому желательно выключать компьютер правильно с помощью 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 через терминал. Если вас застигнет врасплох ошибка или зависание компьютера, вы знаете что делать. Если остались вопросы — пишите в комментариях!

Источник

Оцените статью