Перейти к содержимому

Linux как остановить программу в терминале

  • автор:

How To Easily “Stop” a Terminal Command!

Ammar Alakkad

When you find yourself running a terminal command that you don’t know how to exit from. Don’t just close the whole terminal, you can close the that command!

If you want to force quit “kill” a running command, you can use “Ctrl + C”. most of the applications running from the terminal will be forced to quit.

There’s commands/apps that are designed to keep running until the user asks it to end. and there’s other commands/apps that are designed to show the output and exit automatically.

Here’s how to stop 3 of the most common commands.

Nano Editor

Nano is a simple text editor, you could have faced it when dealing with “git commit”.

If you’re inside nano editor. Press “Ctrl + X” to exit. it will prompt you whether you want to save before quitting or not.

Vim Editor

Vim is another text editor, unlike nano, this one is sophisticated and powerful one.

If you were running Vim editor and you want to quit, you can press “Esc” then type a colon “:” followed by “q!” to force quit without saving.

If you want to save do the same process but replace “q!” with “wq” (which means write then quit).

Less is a command that let you view the content of an input (either the output of another command or a content of a file).

Less is different from the editors above, if you’re inside commands that don’t need input, like “less” or top, you can press “q”.

Others

Sometimes nothing from the above will work to quit the command gracefully. In these situations, you can use the “kill” command which is “Ctrl + C”.

In general, try to quit the application gracefully so it can do what it’s designed to do when quitting. If it didn’t work just force quit (kill) it.

Как завершить процесс в ubuntu?

sercxjo's user avatar

По хорошему процесс следует завершать сигналом 2(SIGINT) или 15(SIGTERM) и если уж не помогает тогда 9(SIGKILL).

Сигнал 2 посылается программе связанной с терминалом при нажатии Ctrl+C, есть ещё запасная комбинация Ctrl+\, посылающая сигнал 3(SIGQUIT), который, если не перехватывается, делает дамп памяти процесса (чтобы потом посмотреть в отладчике).

Сигнал 15 посылается процессам при завершении работы системы или смены runlevel и по-умолчанию если не указан другой в командах kill и killall, по нему программа может быстренько сохранить важные данные и удалить временные файлы, если настроит перехват. Так же перехват сигнала 2 используется для завершающих действий перед выходом.

Сигнал 9 нельзя перехватить, поэтому его следует использовать в крайних случаях, когда программа зависла и не реагирует на обычные сигналы.

How to Kill a Process in Linux

How to Kill a Process in Linux

Tasks in Linux are called processes. Every process has a unique process ID. In this tutorial, we’ll show you how to terminate a process using Linux commands, to improve your VPS management skills.

What Is Kill Command Used For

Sometimes, you might start a server or an application, forget about it, and need to shut it off. In such scenarios, we can use the kill command.

Below are a few examples where the kill command can be helpful:

  • To stop any automated process
  • To stop a process that has been started by accident
  • To stop a process that consumes a lot of memory
  • To force stop any process running in Linux
  • To stop a background process

Apart from stopping a process, the kill command can provide several features. Like, send a signal to a process. By default, this is taken as a TERM signal which will terminate the process.

How to Show the Process ID in Linux

Kill commands lets you terminate a process by using a specific process ID, also known as a pid. To show a pid in Linux you can execute the following command:

This will list all the available processes with a pid. If you want to make your list more specific – add a grep command like this:

This will display all java processes running in the output.

How to Show All Kill Command Signals

There are multiple signals available in Linux which can be used to interrupt, terminate, or pause processes. The command can be used as below:

This command will display a manual page entry of the different kill signals with their names and corresponding numbers. While there are multiple signals available, in most cases we would use SIGKILL (9) and SIGTERM (15).

How to Kill a Process in Linux Using the Terminal

Now we’re ready to move on and learn all the different uses of the Kill Command. To follow along, access your virtual private server using SSH.

Using the Kill Command with a PID

To kill a specific process with a PID use the following command:

Here 63772 is the pid for a process we want to terminate. Since no signal is specified this will be SIGTERM signal. Sometimes, this may not work; in that case, you may have to kill a process forcefully.

In such cases, you can use the command format as shown below:

Below is a sample command to forcefully kill the process:

Similarly, to kill using the shorter option you can use:

Replace 63772 with the relevant pid for the process to be terminated.

How to Kill Multiple Processes in Linux

With the same command, you can kill multiple processes. The syntax for this command would be:

Here’s an example showing how it would look in the real world:

How to Kill a Process in Linux Using the Pkill Command

Pkill is a flavor of the kill command where you can specify the process name or a pattern to find a process:

The above command will kill the chrome browser. You can also specify a partial name match in the command line such as:

However, this command carries a risk of sometimes killing the wrong process, especially when there are multiple processes with the same name.

You can check the list by using the complete process name:

The above command can be used when you know the complete name of the process.

You can check for matching processes by using a partial name:

This command will list the process with the corresponding process ID.

How to Kill a Process in Linux Using the Killall Command

The basic difference between killall and kill is that killall can terminate the process by name while the kill command uses the pid.

An example of such command is:

This is similar to pkill. However, killall does an exact name match, while pkill can do a pattern match. This is one of the reasons, killall is safer compared to pkill.

One more difference is the root package to which these commands belong. In Linux, killall belongs to the psmisc package. On the other hand, commands such as ps, top, kill, pkill belong to procps package.

Another difference is that killall can be customized to terminate processes based on timestamps. In case you want to kill a process that has been running for less than 40 minutes, then you can use:

You can similarly use the below options together with the killall command:

  • s – seconds
  • m – minutes
  • h – hours
  • d – days
  • w -weeks
  • M – months
  • y – years

Conclusion

This covers the most important and useful kill commands. To further learn about this essential utility you can refer to the Linux manual. Good luck with your project, see you in the next tutorial!

7 способов "убить" зависшее приложение в Linux

7 способов "убить" зависшее приложение в Linux

Программное обеспечение Linux достаточно надежно, но бывает, что даже самые лучшие приложения могут зависнуть. Вместо того, чтобы ждать сообщения о сбое в работе приложений, вы можете «убить» их, принудительно завершив. На самом деле способов это сделать существует настолько много, что глаза разбегаются!

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

1. Завершить программу в Linux, просто нажав на «X»

Вы, наверное, уже пытались уйти и сделать себе чашечку кофе, но когда вернулись, обнаружили, что ваша программа зависла, вероятно, у него было достаточно времени, чтобы «отвиснуть», но этого не произошло. Зависшее приложение обычно имеет серые неактивные кнопки управления и у него пропадает возможность перемещения.

Итак, как эту проблему решить? Нажмите на «крестик» в верхнем углу (слева или справа, в зависимости от версии системы Linux). Это должно помочь. Возможно, появится окно с просьбой подождать или принудительно завершить процесс, а также отправить отчет об ошибке.

2. Воспользуйтесь системным монитором, чтобы «убить» процесс Linux

Следующий вариант — открыть утилиту System Monitor вашей операционной системы Linux. Обычно она находится в меню «Системные инструменты» и отображает список запущенных процессов на вкладке «Процессы«.

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

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

Лучше всего использовать их по порядку. Однако, если приложение регулярно зависает, можно использовать вариант, в котором вы точно уверены.

3. Принудительное уничтожение процесса Linux с помощью xkill

Другой вариант — использование команды xkill в терминале. Это инструмент принудительного уничтожения процесса, который предустановлен в Ubuntu, но его можно также установить через терминал в других дистрибутивах, если необходимо. xkill позволит закрыть любой процесс. Установить его можно с помощью следующей команды:

Как только установите, наберите:

Вместо указателя мыши появится крест (или череп). Далее необходимо щелкнуть левой кнопкой мыши на зависшем приложении, чтобы закрыть его.

Если невозможно закрыть зависшее приложение одним из этих методов, то решение может быть в терминале Linux.

4. Используйте команду «kill»

Если ни один из вышеперечисленных методов не помог и приложение до сих пор не отвечает, нажмите Ctrl + Alt + T, чтобы открыть терминал.

Есть несколько команд, которые должны помочь закрыть ваше приложение. Более того, их можно использовать как на вашем компьютере, так и подключившись удаленно через SSH.

Команда kill может быть использована только с указанием идентификатора процесса. Сначала выясним его:

В результате вы увидите ID нужного процесса. Далее используем команду:

Возможно, вам понадобятся системные права для использования программы, тогда используйте sudo.

5. Используйте команды «pgrep» и «pkill»

Что, если вы не смогли найти идентификатор процесса. Здесь вам поможет команда pkill.

Кроме того, можно использовать команду pgrep, чтобы найти идентификатор процесса:

После этого используйте команду pkill с ID процесса.

Как и в случае команды kill, процесс должен завершиться в течение 5 секунд.

6. Уничтожить все экземпляры процесса с помощью «killall»

Не повезло с kill или pkill? Пришло время использовать ядерную опцию: killall.

К счастью, она не так разрушительна, какой могла бы быть. Команда killall завершит все экземпляры указанной программы. Таким образом, вместо того, чтобы убивать одно окно Firefox, данная команда завершит их все:

Все, что вам нужно, это имя процесса и команда killall (возможно, с sudo, если этого требует ваша система).

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

7. Создайте комбинацию клавиш

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

В Ubuntu откройте «Настройки«>«Клавиатура» и нажмите «Комбинации клавиш«. Выберите Дополнительные комбинации, затем +, чтобы создать новую. Введите «xkill» для названия, затем нажмите «Применить«. Это вернет вас к списку комбинаций — выберите нужную, затем нажмите необходимую комбинацию клавиш, которую вы будете использовать для ее вызова.

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

Избегайте зависаний программ: обновите свое оборудование

Зависающие программы постоянно вызывают проблемы? Возможно, пора немного обновить ваш компьютер.

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

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

  1. Завершить программу в Linux, просто нажав на «X».
  2. Воспользуйтесь системным монитором, чтобы «убить» процесс Linux.
  3. Принудительное уничтожение процесса Linux с помощью xkill.
  4. Используйте команду «kill».
  5. Используйте команды «pgrep» и «pkill».
  6. Уничтожить все экземпляры процесса с помощью «killall».
  7. Создайте сочетание клавиш.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *