Как выйти из зависших программ в Linux


Даже в такой надежной операционной системе, как Linux, иногда могут возникать проблемы, приводящие к зависанию приложений или программ.

Есть несколько способов завершить работу зависшей программы в Linux. В этой статье объясняется, как это сделать.

Использовать команду Kill

Прежде чем вы сможете использовать команду kill, вашей системе необходимо знать идентификатор процесса (PID) не отвечающей программы.

PID — это число, которое автоматически идентифицирует каждый процесс при его создании в любой ОС Linux. Преимущество этого метода в том, что он работает во всех системах Linux.

Найти процесс и PID

Если вы не знаете, какой процесс завис в Linux, найти его помогут два инструмента: top и ps .

Top  — системный монитор на основе командной строки. В командной строке введите следующее:

$ top

На снимке экрана выше показано много информации. Например, предположим, что Chrome — это зависшая программа на вашем компьютере.

Вы можете видеть, что есть четыре экземпляра Chrome, которые работают со следующими PID:

  • 3827
  • 3919
  • 10764
  • 11679
  • Чтобы определить конкретный экземпляр Chrome, который вы хотите уничтожить, используйте команду ps и grep для фильтрации вывода.

    Приведенная ниже команда покажет вам запущенные процессы, связанные с Chrome:

    ps вспомогательный | grep chrome

    Завершить процесс

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

    • kill – завершить процесс по идентификатору
    • killall – убить процесс по имени
    • В зависимости от желаемых результатов вы можете отправлять обеим командам и другие сигналы.

      Например, если вы хотите завершить неотвечающий процесс, а затем перезапустить его, вы будете использовать сигнал HUP (повесить трубку).

      Другие сигналы уничтожения включают в себя:

      • SIGSTOP, чтобы остановить процесс..
      • SIGNINT, чтобы прервать клавиатуру
      • SIGKILL для отключения сигнала
      • Из приведенной выше команды ps мы узнали, что PID для экземпляров Chrome — 3827, 3919, 10764 и 11679.

        Чтобы отправить сигнал уничтожения, выполните следующие команды для успешного завершения всех четырех экземпляров Chrome:

        • убить -9 3827
        • убить -9 3919
        • убить -9 10764
        • убить -9 11679
        • Вы также можете использовать одну команду ниже, используя killall , чтобы отправить тот же сигнал:

          killall -9 Chrome

          Нажмите X

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

          Самое простое решение — нажать кнопку X в верхнем углу. В зависимости от вашей ОС кнопка может находиться в левом или правом верхнем углу.

          После нажатия X вы увидите диалоговое окно с двумя вариантами: Подождать или Принудительно завершить . Чтобы завершить работу программы, нажмите Принудительное завершение .

          Завершение процесса Linux в Linux с помощью системного монитора

          Системный монитор по умолчанию в Ubuntu называется Gnome. Он дает представление обо всех процессах, происходящих в операционных системах Ubuntu Linux.

          Пользователи могут выполнять различные задачи с помощью графического пользовательского интерфейса (GUI), включая Остановить , Продолжить и Завершить .

          Если в вашей системе нет приложения системного мониторинга Gnome, установите его, выполнив следующие действия. Этот процесс работает для всех активных версий Ubuntu Linux, а также Linux Mint и Debian.

          • Используйте сочетание клавиш Терминала CTRL+ALT+T . Затем используйте команду ниже, чтобы загрузить и установить системный монитор Gnome.
          • sudo apt-get install gnome-system-monitor

            • Откройте системный монитор с помощью командного терминала, выполнив следующие действия:
            • gnome-system-monitor

              • Или с помощью графического пользовательского интерфейса перейдите в раздел «Приложения», введите системный монитор в поле поиска и щелкните значок, чтобы открыть его.
              • Откройте системный монитор, просмотрите столбец Процессы , чтобы найти не отвечающую или зависшую программу, выберите ее и щелкните правой кнопкой мыши..
              • Вы увидите несколько вариантов, в том числе:

                • Завершить процесс , чтобы завершить работу приложения во время очистки временных файлов.
                • Остановить процесс , чтобы приостановить процесс и продолжить работу с ним позже.
                • Завершить процесс  — это самый крайний вариант. Он позволяет выйти из зависшей программы, если попытка завершить ее не сработала.
                • Используйте команду xkill

                  Xkill — это предустановленная утилита уничтожения Ubuntu, которую можно использовать для принудительного завершения не отвечающего процесса Linux. Этот инструмент предустановлен в Ubuntu.

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

                  sudo apt install xorg-xkill

                  Затем запустите его, набрав xkill . Ваша мышь превратится в череп или x . Щелкните левой кнопкой мыши по зависшей программе, чтобы закрыть ее.

                  Используйте pgrep и pkill

                  Некоторые системы Linux предлагают сочетания клавиш pkill и pgrep для выполнения тех же задач, что и kill и ps , обсуждаемые выше.

                  Pgrep покажет имя и идентификатор процесса. Например, запустив pgrep chrome , чтобы увидеть идентификатор запущенного процесса Chrome. Затем вы можете использовать этот идентификатор с командой kill.

                  pkill 7012

                  Или вы можете пропустить этот шаг и использовать приведенную ниже команду, чтобы удалить все экземпляры Chrome:

                  pkill Chrome

                  Это решение хорошо работает, если у вас работает только один экземпляр приложения. Однако если у вас открыто несколько окон одной и той же программы и вы хотите закрыть только одно, используйте вместо этого XKill .

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

                  Попробуйте один из приведенных выше вариантов в качестве альтернативы легкому и быстрому безопасному выходу из зависших или не отвечающих программ в Linux.

                  .

                  Похожие сообщения:


                  31.01.2020