Что делать при зависании программ в Linux?
Ни одна современная операционная система (ОС), какой бы совершенной она ни была, не избавлена от вероятности зависаний и/или сбоев. Однако, какими бы ни были зависания и как бы часто они не происходили, всегда следует уметь выходить из подобных ситуаций с наименьшими потерями и ущербом для системы. О том, как правильно это делать в системах Linux. Какие вообще бывают ситуации, связанные с зависанием процессов или самой системы, будет изложено в данной статье.
Почему зависают программы и приложения?
В первую очередь это происходит из-за действий пользователей. Система не может предусмотреть все без исключения ситуации, которые потенциально могут вызвать сбой или зависание. А действия самого пользователя порой бывают чрезмерно необдуманными.
Некачественное программное обеспечение (ПО), которое не было должным образом протестировано разработчиками. А также ПО сомнительного происхождения также являются частой причиной зависаний.
Аппаратная составляющая также оказывает существенное влияние на работу ОС. Например достаточный объём оперативной памяти, стабильные частоты, на которых она работает, высокоскоростная дисковая подсистема. Всё это является важным фактором, существенно снижающим вероятность зависаний.
Системы на основе Linux заслуженно и неоспоримо считаются наиболее устойчивыми к различного рода сбойным ситуациям. Ядро этих систем действительно, работает очень стабильно и способно «переваривать» нагрузки в круглосуточном режиме на протяжение очень длительного времени. Системы Windows такими показателями похвастаться не могут. Именно поэтому, управление самыми высоконагруженными серверами, где критически важна надёжная работа системы. Доверяют именно Unix/Linux.
Но, как бы ни была надёжна Linux, сбои и зависания происходят и в этой ОС. В подавляющем большинстве случаев они связаны либо с устаревшей, маломощной аппаратной составляющей, либо с нестабильным ПО. В последнем случае это касается по большей части настольных компьютеров обычный пользователей. Где используются различные графические оболочки. Что и говорить, графическая подсистема — одна из наиболее уязвимых для сбоев в ОС Linux.
Завершение зависших приложений в командной оболочке
Прежде всего необходимо знать и понимать, каким образом идентифицировать зависший процесс. Ну а дальше попытаться его завершить принудительно.
Каждому процессу в системе соответствует свой уникальный идентификатор (PID). При помощи которого система им управляет, в частности может завершить. Самым простым способом узнать PID процесса является команда pidof:
В данном случае в качестве аргумента указывается имя процесса. Для примера используется утилита psensor. Считывающая показания, предоставляемые различными провайдерами для системных датчиков: lm-sensors, hddtemp, udisks2 и т. д. Если, к примеру, замечено, что psensor не обновляет показания датчиков, т. е. предполагается, что эта утилита зависла. То завершить её можно командой kill, передав ей соответствующий PID:
Эта команда предназначена для отправки сигналов управления процессам. По-умолчанию завершает процесс. Для завершения процессов по их имени существует команда killall:
Однако, использование kill по идентификаторам процессов более корректно. К тому же команда kill более предпочтительна для крепко зависших процессов. И обладает более гибкими возможностями.
Вообще в таких случаях может быть проблематично использовать или запустить командную консоль. Поскольку она также может зависнуть. Тогда можно попытаться переключиться на параллельный сеанс комбинацией клавиш . Где N – номер функциональных клавиш от 1 до 12, например F1, F2, . . . F12. И уже оттуда продолжить работу с процессами.
Зависание графической оболочки в Linux
Как уже было отмечено выше, если в системе установлена и работает какая-либо из графических оболочек (GNOME, KDE, Xfce и т. д.), то это лишний повод увидеть перед собой зависшее окно какого-либо приложения, либо даже целиком некликабельный рабочий стол. В таком случае удобно воспользоваться графическим менеджером процессов и управлять ими визуально. Используя элементы интерфейса и контекстное меню процесса.
Но бывает также и так, когда рабочий стол не реагирует ни на клики мыши, ни на привязанные к нему клавиатурные комбинации. В этом случае остаётся задействовать виртуальные терминалы. Переключившись на один из них, как это указано в предыдущей главе по нажатию сочетаний клавиш . Стоит отметить, что при переключении на такой терминал необходимо сначала авторизоваться в системе через него. После этого можно попытаться перезапустить графическую оболочку и/или X-сервер, например для Ubuntu:
Здесь lightdm или ssdm зависит от того, какая графическая оболочка используется. В последних версиях дистрибутивов Ubuntu в основном используется композитный менеджер ssdm.
Нехватка памяти и полное зависание системы
В некоторых случаях зависание процесса может быть вызвано нехваткой памяти. Особенно когда сам процесс потребляет её слишком много, т. е. Как говорят, «сильно течёт». Иногда это не очевидно, если такой процесс выполняется в фоне, а пользователь непосредственно с ним не работает. Такие случаи выявляются по первичным признакам в виде общей «заторможенности» всей системы. Когда зависший процесс отобрал большую часть ресурса памяти. В данном случае нужно выявить такой процесс, воспользовавшись командой ps. И отсортировав все процессы по количеству используемой памяти:
Будет выведена таблица, среди столбцов которой есть столбец «%MEM», указывающий количество памяти в процентном соотношении от доступной в системе и используемой соответствующим процессом, запущенным командой, указанной в столбце «COMMAND».
К примеру, если это веб-браузер Firefox, то у него может быть много связанных с ним процессов:
Их можно разом завершить:
Но может и случиться так, что даже Linux-система может зависнуть наглухо, не реагируя ни на что. В таких случаях, как правило, само ядро продолжает работать и ему можно отдавать команды, в том числе и через клавиатуру. Таким образом, можно попытаться более-менее корректно, с наименьшими потерями выполнить ручную поэтапную перезагрузку, передавая ядру соответствующие команды через клавиатурные сочетания. Эти команды следует отдавать, нажимая следующие клавиши через каждые 3-4 секунды, при этом удерживая сочетание клавиш :
- R – возврат управления клавиатурой непосредственно ядру.
- E – отправка сигнала SigTerm всем запущенным процессам.
- I — отправка сигнала SigKill всем запущенным процессам.
- U – перемонтирование всех файловых систем в режиме «только чтение».
- S – сохранение всех актуальных буферов и временных данных файловых систем на диск.
- B – собственно, перезагрузка.
На этапах 2 и 3 стоит объективно оценивать время работы команды. Если процессов запущенно много, то и времени на их завершение и уничтожение может также потребоваться несколько больше, чем 3-4 секунды.
Заключение
В заключение, стоит отметить, что хотя в системах Linux далеко не так часто случаются вообще какие-либо зависания. Однако всё же необходимость правильно и быстро вывести систему из нештатного состояния может возникнуть в любой момент. Такими состояниями являются рассмотренные в данной статье как зависания отдельных процессов, так и целых подсистем, например графической. Также был рассмотрен вариант с ручной перезагрузкой системы в случае её полного зависания.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Astra Linux — на хромой лошади экономику не объедешь
Комментарии 73
До святой инквизиции еще не дошли, но до святой водички на космодроме — уже!
Краткое содержание:
«Государство устанавливает правила, которые мы считаем глупыми и вредными.
Мы хотим продавать свой продукт государству, а поэтому вынуждены эти правила соблюдать.
Эти требования — глупые (потому что мы так думаем!), давайте их отменим»
По сути: не нравятся правила — не играйте по ним, продавайте не государству, а на рынок. В чём проблема?
За державу обидно! Сколько можно на клячах поднимать экономику?
Пройдём по фразам?
«якобы проверен сотрудниками ФСО» — приведете доказательства о «якобы», или «мы так считаем»?
«попытка загнать страну в каменный век» — немцы со своим LiMux, китайцы с Kylin/Deepin тоже этого добиваются?
«нарушить жизнедеятельность российской инфраструктуры и предприятий сложно – просто потому что они ни к чему не подключены» — история со stuxnet мимо прошла, да?
«А всё потому что Чтобы заставить новые видеотехнологии работать, приходится в свой софт включать все обновления для Линукс, которые накопились за последние 5 лет в этой операционке. Плюс добавлять массу других библиотек, не делающих ось надежнее и безопаснее.» — так за державу обидно, или сложно свой софт поддерживать?
«якобы проверен сотрудниками ФСО» — приведете доказательства о «якобы», или «мы так считаем»?
Отвечу как есть: Мы так считаем по двум причинам:
1. Сами часто сдаем ПО на проверку и получаем, как говорится, не распакованный продукт с лицензией. Чистая формальность за бабки.
2. Некому там проверять, в этих организациях не работают люди, которые способные потянуть весь Линукс в текстах.
Могу добавить недавний случай на получение сертификата ФСБ по видеоаналитике. После долгих волынок мы написали заяву с требованием заняться нами. В процессе выяснилось, что у ФСО нет даже нормального стенда для проверки. НО, внимание! этот сертификат уже получили три компании.
Как Вы думаете, после такого опыта мы что должны были написать, кроме «якобы проверенного»?
Возможно, у вас так получается, потому что вы обращаетесь не по адресу?
Astra Linux, например, заявляет о сертификации ФСТЭК, а не ФСО и не ФСБ.
так за державу обидно, или сложно свой софт поддерживать?
Как именно вы будете поддерживать свой продукт, чтобы он соответствовал требованиям заказчика, и сколько это будет вам стоить — это исключительно ваши проблемы.
Не надо свои трудности маскировать аргументами «у нашего государства не так много денег, чтобы выдвигать такие требования».
Государство вас ни к чему не принуждает.
Оно устанавливает свои требования, и всё.
Точно так же, как и любой другой заказчик/клиент.
Не нравятся требования/невыгодно под них подстраивать свой процесс — никто вас не заставит. Отказывайтесь от «нехорошего» клиента, и работайте с «правильными».
«попытка загнать страну в каменный век» — немцы со своим LiMux, китайцы с Kylin/Deepin тоже этого добиваются?
Как обычно, проблема не в создании собственной ОС, для безопасности государства — это вполне разумная мера, чтобы не зависеть от потенциальных санкций. Проблема в поддержании её в актуальном состоянии.
Кстати, я к счастью вопросами совместимости с госПО занимался давно и недолго, но насколько я помню, там сертифицируется конкретная версия ОС и библиотек, так что если автор исходного поста действительно со своим софтом приносит кучу системных обновлений — то всей сертифицированной системе грош цена.
Сертифицированная операционная система, для той же астры почитайте процедуру обновления, оно посложнее чем apt update && apt upgrade
Если нет жестких требований к защите, то достаточно если только ОС сертифицирована, а прикладной софт нет, это сильно облегчает жизнь, особенно если прикладной софт не подменяет системные файлы.
По сути: не нравятся правила — не играйте по ним, продавайте не государству, а на рынок. В чём проблема?
Вы предлагаете эмигрировать?
Скоро из разработчиков в стране останутся только те, кто на государство работает и всякую вредную хрень создает.
Где Вы это увидели?
Я предлагаю либо работать по требованиям заказчика, либо искать таких заказчиков, требования которых Вам нравятся.
Скоро из разработчиков в стране останутся только те, кто на государство работает и всякую вредную хрень создает.
Конкретно Вы написали статью о том, что хотите продавать свой продукт государству на своих условиях.
Вас кто-то заставляет продавать свой продукт государству, или Вы сами хотите добиться того, чтобы Вашим продуктом заинтересовалось государство?
Вы сами свой продукт считаете «вредной хренью»?
Вас кто-то заставляет продавать свой продукт государству, или Вы сами хотите добиться того, чтобы Вашим продуктом заинтересовалось государство?
Причем здесь наши продажи, мы где-то заикнулись, что хотим что-то продать?
Ни разу не заикнулись.
«А всё потому что Чтобы заставить новые видеотехнологии работать, приходится в свой софт включать все обновления для Линукс, которые накопились за последние 5 лет в этой операционке. Плюс добавлять массу других библиотек, не делающих ось надежнее и безопаснее.» — а это написали просто для красного словца.
Статья о таких как Вы, кто тащит наше государство на дно цивилизаций.
Плюс добавлять массу других библиотек, не делающих ось надежнее и безопаснее.» — а это написали просто для красного словца.
Видимо, какое-то сложное мыслеизмышление, позволяющее сделать вывод о продажах?
И о том, как именно я тащу наше государство на дно цивилизаций.
Только, чур, конкретно.
Сама защита теории облинуксивания нашей страны на фоне полной разрухи информационных технологий и упадка образования тех, кто должен с ним работать — не попытка вести всех вперед в обрыв?
Не говоря уже об использовании 5-летний версии Линукс, которая и не может работать там, где требуются высокие технологии.
Видимо, какое-то сложное мыслеизмышление, позволяющее сделать вывод о продажах?
Давайте объясню, если Вам сложно понять.
Прикладывание усилий не для достижения какой-то цели, а «просто так» — не очень умное поведение.
Я не считаю ЛПР компании «Спецлаб» идиотами. И когда к постулату «компания „Спецлаб“ прилагает усилия, чтобы её продукты работали под Astra Linux (та самая цитата, смысл цитирования которой Вам непонятен), были проверены ФСО и имели сертификаты ФСБ (Ваши слова в обсуждении выше)» я задаю вопрос «зачем?», то делаю вывод «для того, чтобы можно было продать эти продукты тем, кто выдвигает такие требования».
Сама защита теории облинуксивания нашей страны на фоне полной разрухи информационных технологий и упадка образования тех, кто должен с ним работать — не попытка вести всех вперед в обрыв?
Защита теории, причем любой — это ни разу не «тащить на дно».
Зато позиция «есть два мнения: одно моё, другое неправильное» — это как раз да, оно.
Ну и посыл фактически неверный: а) linux для пользователя ни разу не сложнее, чем windows и б) пользователи не работают с ОС, они работают с конкретными программами.
Не говоря уже об использовании 5-летний версии Линукс, которая и не может работать там, где требуются высокие технологии.
Так, а цитату привести сможете, где я призывал использовать «5-летний версии Линукс»?
ЗЫ. От фраз «на фоне полной разрухи информационных технологий», «упадка образования тех, кто должен с ним работать» так и несет пренебрежением (если непонятно, в чем именно пренебрежение — обращайтесь, разъясню). Некрасиво, чес-слово.
Пошла философия, понятная только Вам.
linux для пользователя ни разу не сложнее, чем windows
Согласен. Но согласитесь и с тем, что оба продукта представляют собой большую сложность. Только вот виндой уже все умеют пользоваться, а линуксом единицы.
Так, а цитату привести сможете, где я призывал использовать «5-летний версии Линукс»?
А Вы скачайте с сайта кабы разработчика Астра Линукса их дистрибутив и поймете, чем нас подчуют.
И поймите, я не за винду или линукс, я за решение — реальное для жизни. Сегодня мы имеем указилово от правительства делать народу то, чего он не может.
Не понимаю смысла данной статьи. Ну не нравиться вам астра линукс. Ок. Не ешьте его… Не понимаю смысл разведения холиваров. Любая ос это основа для совершенно конкретных программных продуктов и её архитектура обусловлена использованием этих продуктов на конкретном железе. Всё остальное это размышления на тему. Ах как бы было хорошо… Может быть и было, но используют вот так.
А если, допустим:
- я разместил объявление «Плачу 100 рублей за подметание дорожки в саду»
- Вы разместили объявление «Заплачу стотыщ мильонов за подметание дорожки в саду, при условии, что подметать нужно граблями»
- условный Urub пошёл к Вам и подмёл дорожку граблями
Значит ли это, что Вы его заставили подметать дорожку граблями?
На вопрос («Значит ли это, что Вы его заставили подметать дорожку граблями?») Вы не ответили.
Вместо этого Вы попытались увести в сторону «мы платим государству, которое должно обслуживать наши потребности, но оно потратило деньги неправильно».
Нам всем нужно подмести дорожку к нашему дому, мы скинулись и проучили это мне.
Не так, начиная с изначальной установки «нам нужно подмести дорожку к нашему дому».
Мы скидываемся не на подметание дорожки, а на «нам нужно, чтобы было хорошо».
И уже исполнитель этого желания («чтобы было хорошо») решает, что конкретно нужно сделать — подмести дорожку, организовать гастроли рок-группы, отложить «на чёрный день».
При этом ему приходится учитывать интересы каждого из «нас», и не только сиюмоментные, но и на перспективу.
Когда Вы говорите, что «подметать граблями — неправильно», Вы учитываете только (а) свою и (б) текущую боль «это делать неудобно».
Вам всё равно, что при подметании граблями деньги заработает не зарубежный завод по производству веников, а свой завод, производящий грабли и свой конструкторский отдел, разрабатывающий способы повышения удобства подметания граблями.
И Вам всё равно, что на продолжительном промежутке времени закупать иностранные веники выйдет дороже, чем довести свои грабли до состояния «подметать ими даже удобнее, чем веником».
Рекомендую ознакомится с материалами по Астре:
Astra Linux 1.6. HARDENED ядро — защита от ядерных эксплоитов. Запрет установки бита исполнения.
Мандатный контроль целостности в Astra Linux 1.6. Расщепление root. PARSEC.
ЗПС в Astra Linux 1.6. Динамический контроль целостности. Замкнутая программная среда. Астра Линукс.
Astra Linux 1.6. Регламентный контроль целостности. Астра Линукс. Afick.
Очистка памяти в Astra Linux 1.6. Очистка области подкачки. Защита Linux. Затирание данных в Linux.
Блокировка интерпретаторов и блокировка консоли в Astra Linux. Запрет установки бита исполнения.
Блокировка макросов, sumac, ptrace в Astra Linux SE 1.6. Безопасность Астра Линукс 1.6.
Самотестирование КСЗИ Astra Linux SE 1.6. Безопасность Астра Линукс.
А так же, прошу заметить,
Версия: 1.6
Название: Astra Linux Special Edition (Смоленск)
Дата выпуска: 26 сентября 2018
Версия ядра Linux: 4.15.3-1
Ну уж никак не 5 лет.
Только вот несколько часов назад правил CREATE INDEX IF NOT EXISTS на анонимный блок кода, потому что в АЛ 1.5 ПГС версии 9.4 не поддерживает синтаксис IF NOT EXISTS.
С 2018 года доступна версия 1.6, где, похоже, postgresql версии 9.6.x. А PostgresPro (возможно платно, так далеко не проверял) и вовсе предоставляет сборки вплоть до postgresql 11.
У военных еще и 1.4 много где стоит
Astra Linux – это устаревшая версия (5-и летней давности) почти свободно распространяющейся операционной системы Linux
а именно – Debian Wheezy, причём без последних обновок – где форкнулись, там видимо и остались… по крайней мере SE-шка, пришлось с ней немного помучиться, но потом я удачно уволился… 🙂
Вам бы с МСВС 3.0 поработать), графику 3д настроить… Боль Ваша известна). Другой пример — а что делать госструктурам этим, когда у них 99% документов вида DOC, DOCX, документация эта — не просто служебная записка, а РКД, только вот в AsttaLinux из средств для работы с доками — отечественных нет), LibreOffice… Ну и как в нем выглядит сложный документ сделанный в Microsoft Office, я думаю, рассказывать не надо)))
«… Отечественных нет. » Ага… А «Мой Офис» — продукция из параллельных миров. Ана, конечно 😀
Ну мой офис не то что бы прям отечественный переименованный под хайп не очень «отечественный» OnlyOffice. Что как-не совсем корректно.
Я много работаю с Астрой. Я терпеть не могу Астру. Я с ней столько головной боли схватил, что словами не передать. Но тем не менее она достаточно целостна. На ней можно развернуть боевой сервер, на ней можно писать код. При желании можно отключить PARSEC, ЗПС, и все прочие навороты, подкинуть репы дебиана и получится совсем юзабельно. Правда это уже будет не Астра.
Кстати сказать, много кто пытался продавать свои версии Линукса, но быстро менял название, т.к. у операционной системы Linux, если кто-то еще не знает, есть свой хозяин.
Alt Linux видимо тоже всёее всех всёих.
ну можно сделать проще и купить годовую подписку на бесплатную убунту за 1500 долларов https://ubuntu.com/advantage
Государство настоятельно рекомендует использовать операционные системы из списка российского ПО, что, впрочем, при необходимости легко обходится.
Но если даже из списка, то там не только Астра.
Далее.
Астра заявляет наличии у Астры SE сразу о четырех видов сертификатов: ФСТЭК, ФСБ, МО и ИСПРАН.
Ее однозначно придется использовать только в случаях, когда требуется соответствующий сертификат МО или фСБ.
Если сертификация нужна, но достаточно сертификата ФСТЭК, то такие системы также не исчерпываются Астрой (из актуальных навскидку помню только Альт, но есть и другие).
Многие госконторы уже выбрали для себя в качестве основной ОС «Астру» (чтобы было все параллельно и перпендикулярно?). Некоторые вроде пользуют (пока пользуют?) другие дистрибутивы линукса. Но при этом даже винда-десятка вполне может существовать где-то в конторе, в основном выбравшей «Астру».
А дальше, если ваш клиент (неважно, гос или частник) выбрал для себя ОС, исходя из требований, которые к этой ОС предъявляются на предмет сертификации и всего такого, то вы работаете с ОС клиента. Это всегда так. У клиента может быть Макось, виндовс, любой линукс, фря, что-то вообще экзотическое. И если вы хотите с ним работать, вы работаете с тем, что есть у клиента. Если вы не можете с этим работать — это не ваш клиент.
Astra Linux – это устаревшая версия (5-и летней давности)
Интересно, какой смысл распространять заведомо недостоверную информацию?
Последней версии Астры SE всего лишь два года. Обновления безопасности доступны совсем свежие.
Если хочется совсем свежачка, то есть у них и экспериментальная версия этого года, но тут уже без всякой сертификации.
Этот нехитрый конгломерат якобы проверен сотрудниками ФСО
Вроде ФСО тут совершенно никаким боком. По крайней мере не помню. чтобы астра заявляла сертификацию своей ОС в ФСО.
Ладно, допустим тот факт, что нарушить жизнедеятельность российской инфраструктуры и предприятий сложно – просто потому что они ни к чему не подключены.
У вас устаревшие сведения. Сильно устаревшие. Часть, конечно, от интернета отсоединена, но только часть, И часто оно даже правильно, что отсоединено, ибо нефига в общую сеть светить некоторой инфраструктурой.
Причем, российская специфика закупок отличается особенной изощренностью в требованиях сказочных возможностей.
А это как раз обычно просто объясняется — выводят тендер на конкретный продукт, чтобы не те альтернативы не предлагали .
Кстати сказать, много кто пытался продавать свои версии Линукса, но быстро менял название, т.к. у операционной системы Linux, если кто-то еще не знает, есть свой хозяин.
У всякой ОС линукс свой хозяин — тот, кто собирает и распространяет свой дистрибутив и поддерживает свои репозитарии. Таких хозяев (Астралинукс в том числе) как собак нерезаных, и у многих в составе названия есть «линукс» (Альтлинукс например, живет уже очень долго и помирать не собирается, а еще есть Red Hat Enterprise Linux).
А еще есть ядро, у которого есть свой, другой хозяин. И это ядро пользуют все, кому не лень (благо, свободное ПО), и это не только разработчики дистрибутивов. Причем в полном соответствии с лицензией на ядро, его может свободно взять для своих целей (в том числе коммерческих) любой. Только нужно некоторые тонкости соблюсти, ибо GPL по большей части.
Newcss
а что делать госструктурам этим, когда у них 99% документов вида DOC, DOCX, документация эта — не просто служебная записка, а РКД
Это старый занятный казус.
По ГОСТу, если мне не изменяет память, все должно быть в ODF, но у всех почему-то в DOC и DOCx.
Как показывает практика, когда прижмет, выкрутиться можно, хотя очень тяжело.
0mogol0
если автор исходного поста действительно со своим софтом приносит кучу системных обновлений — то всей сертифицированной системе грош цена
Если мне не изменяет память, то если сертификация ОС нужна, то она нужна и стороннему софту, а потому все обновления, что он с собой принесет, должны быть сетрифицированы.
Источник