- Как убить все процессы пользователя в Linux
- Как завершить все процессы пользователя?
- Завершить сессию другого пользователя.
- Выход из системы
- unixforum.org
- Консольная команда завершение сеанса пользователя
- Консольная команда завершение сеанса пользователя
- Re: Консольная команда завершение сеанса пользователя
- Re: Консольная команда завершение сеанса пользователя
- Re: Консольная команда завершение сеанса пользователя
- Re: Консольная команда завершение сеанса пользователя
- Re: Консольная команда завершение сеанса пользователя
- Re: Консольная команда завершение сеанса пользователя
- Ubuntu Documentation
- Завершение сеанса и переключение пользователей
- Блокирование экрана
- Смотрите также
- Ждущий режим
- Смотрите также
- Выключение или перезапуск
Как убить все процессы пользователя в Linux
Как мы знаем, Linux — многопользовательская ОС, поэтому с каждым пользователем могут быть связаны его собственные процессы. Такое разделение существует в целях безопасности. Запуская ту или иную программу от имени непривилегированного пользователя, ОС снижает риски несанкционированного проникновения и риски повреждения системных файлов.
В этой статье мы расскажем о том, как завершить все запущенные процессы конкретного пользователя.
Как завершить все процессы пользователя?
Для начала сформируем перечень всех процессов всех пользователей. В терминале Linux выполним следующую команду:
Как видно на скриншоте, имеются процессы, связанные с тремя пользователями (root, mint1 и mint). Допустим, нам срочно понадобилось завершить все процессы пользователя mint1.
Здесь следует немного подробнее остановиться на самом понятии процесса в Linux. Процесс – программа, запущенная в виртуальном адресном пространстве. Каждый процесс имеет свой уникальный номер или идентификатор — PID (Process Identificator). Работая с процессами, операционная система идентифицирует процессы именно по PID.
Для того, чтобы убить ненужные процессы, достаточно убить все PID процессов конкретного пользователя (в данном случае mint1). Для этого можно просто скопировать номера идентификаторов этого пользователя и ввести следующую команду:
sudo kill -9 3501 4333
Однако, количество PID может быть куда больше двух. Да и выполнить все действия вообще-то тоже можно с помощью одной команды, умещающейся в одну строку.
Например, используем конвейер и программу grep ( символ | обозначает передачу результатов выполнения первой команды второй команде по конвейеру):
ps au | grep -e ‘^mint1’
С помощью grep были выбраны все процессы пользователя mint1. Далее необходимо из второй колонки слева выбрать все PID. Сделаем это с помощью программы awk, добавив, соответственно, ещё один конвейер:
ps au | grep -e ‘^mint1’ | awk ‘
Теперь нужно убить полученные значения PID. Опять добавим конвейер (в данном и последующих примерах все команды выполняются от имени суперпользователя root) и выполним группу команд:
ps au | grep -e ‘^mint1’ | awk ‘
С помощью такой конвейеризованной группы команд мы завершили все процессы пользователя mint1.
Подобный конвейер можно было бы сформировать и так:
ps aux | awk ‘/^mint1/
Кроме того, для того, чтобы убить все процессы пользователя в Linux, можно воспользоваться также следующими командами:
killall -u mint1
Однако и это ещё не всё. Нужно ещё проверить наличие процессов, связанных с пользователем mint1, и их состояние. Сделаем это с помощью команды:
Как видите, процессы, связанные с пользователем mint1, отсутствуют. Способов убить все процессы пользователя в 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)
Источник
Выход из системы
В строках, выведенных программой last , указан не только момент регистрации пользователя в системе, но и момент завершения работы. Можно представлять Linux как закрытое помещение: чтобы начать работать нужно сначала войти в систему (зарегистрироваться, пройти процедуру идентификации), а после того, как работа закончена, нужно из системы выйти. В том случае, если в систему вошло несколько пользователей, каждый из них должен выйти, завершив работу, причём совершенно не имеет значения, разные это пользователи или «копии» одного и того же.
Вход пользователя в систему означает, что нужно принимать и выполнять его команды и возвращать ему отчёты о выполненных действиях, например, предоставив ему интерфейс командной строки. Выход означает, что работа от имени данного пользователя завершена и более не следует принимать от него команды. Весь процесс взаимодействия пользователя с системой с момента регистрации до выхода называется сеансом работы. Причём если пользователь входит в систему несколько раз под одним и тем же именем, ему будут доступны несколько разных сеансов работы, не связанных между собой.
В наших примерах Мефодий зарегистрирован в системе дважды: на первой и второй виртуальных консолях. Чтобы завершить работу на любой из них, ему достаточно в соответствующей командной строке набрать команду logout .
[methody@localhost methody]$ logout
Welcome to Some Linux / tty1
localhost login:
Пример 11. Команда logout
В ответ на эту команду вместо очередного приглашения командной строки возобновляется приглашение к регистрации в системе. На данной виртуальной консоли работа с Мефодием завершена, и теперь здесь снова может зарегистрироваться любой пользователь.
Есть и другой, ещё более «немногословный» способ сообщить системе, что пользователь хочет завершить текущий сеанс работы. Нажав Alt+F2 Мефодий попадёт на вторую виртуальную консоль, где всё ещё открыт сеанс для пользователя « methody » и нажмёт сочетание клавиш Ctrl+D, чтобы прекратить и этот сеанс. Комбинация клавиш Ctrl+D приводит не к передаче компьютеру очередного символа, а к закрытию текущего входного потока данных. Грубо говоря, командная оболочка вводит команды пользователя с консоли, как если бы она читала их построчно из файла. Нажатие Ctrl+D сигнализирует ей о том, что этот «файл» закончился, и теперь ей неоткуда больше считывать команды. Такой способ завершения совершенно аналогичен явному завершению командной оболочки командой logout .
Источник
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) завершением замечено не было.
Зы. Смежный вопрос: Как кто отслеживает активность пользователя и в случае ее отсутствия (событий клавиатуры или мыши) прибивать процессы пользователя?
Источник
Ubuntu Documentation
По завершении работы с компьютером его можно выключить, перевести в спящий режим (для экономии энергии) или оставить включённым, просто завершив сеанс.
Завершение сеанса и переключение пользователей
Чтобы у других пользователей была возможность использования вашего компьютера, можно завершить сеанс работы или выполнить переключение пользователя без завершения сеанса. При переключении пользователей все запущенные приложения продолжают работать, после обратного переключения всё будет в том же самом состоянии, в котором было, когда вы переключили пользователя.
To Log Out or Switch User , click the system menu on the right side of the top bar, click your name and then choose the correct option.
Пункты Завершить сеанс и Сменить пользователя появляются в меню только если в системе имеется более одной учётной записи пользователя.
Блокирование экрана
If you’re leaving your computer for a short time, you should lock your screen to prevent other people from accessing your files or running applications. When you return, you will see the lock screen . Enter your password to log back in. If you don’t lock your screen, it will lock automatically after a certain amount of time.
To lock your screen, click the system menu on the right side of the top bar and select Lock from the menu.
When your screen is locked, other users can log in to their own accounts by clicking Log in as another user at the bottom right of the login screen. You can switch back to your desktop when they are finished.
Смотрите также
- Автоматическая блокировка экрана — Предотвращение доступа других людей к вашему рабочему столу, когда вы отходите от компьютера.
- Экран блокируется слишком быстро — Измените время ожидания перед блокировкой экрана в настройках Конфиденциальность .
Ждущий режим
To save power, suspend your computer when you are not using it. If you use a laptop, the system, by default, suspends your computer automatically when you close the lid. This saves your state to your computer’s memory and powers off most of the computer’s functions. A very small amount of power is still used during suspend.
To suspend your computer manually, click the system menu on the right side of the top bar, expand Power Off / Log Out , and select Suspend .
Смотрите также
- Set up automatic suspend — Configure your computer to suspend automatically.
- Уменьшение потребляемой мощности и увеличение времени работы от аккумулятора — Советы по уменьшению энергопотребления компьютера
- Что происходит при переходе компьютера в ждущий режим? — В ждущем режиме компьютер «засыпает» и потребляет меньшую мощность.
Выключение или перезапуск
If you want to power off your computer entirely, or do a full restart, click the system menu on the right side of the top bar, expand Power Off / Log Out , and select Power Off… . A dialog will open offering you the options to either Restart or Power Off .
Если в этот момент в системе авторизованы другие пользователи, то выключение или перезапуск компьютера будут невозможны, поскольку данные действия прервут сеансы этих пользователей. При наличии прав администратора компьютер можно выключить, но понадобится вести пароль.
Если нужно перенести компьютер в другое место, но у него нет аккумулятора, или аккумулятор плохо держит заряд, его можно выключить. Выключенный компьютер не потребляет электроэнергию , в отличие от компьютера переведённого в ждущий режим.
Источник