Ubuntu how to kill process
Ubuntu how to kill process
Go Ubuntu!
Переходим на Ubuntu
4 способа завершить процесс в Ubuntu — kill, killall, pkill, xkill
Однако, существует множество альтернативных способов завершить процесс, и сегодня мы рассмотрим четыре из них:
Команда kill — завершаем процесс по идентификатору
Каждая из приведенных ниже команд отправит сигнал на завершение указанному процессу. Сигнал можно указывать по имени или по коду. Описание сигналов можно найти в справочнике man или, например, в Википедии.
Например, для того, чтобы завершить процесс браузера Firefox, нужно сначала узнать его имя (подробнее о команде grep):
А затем послать найденному процессу команду на завершение:
Команда kilall — завершаем процесс по имени
Вместо того, чтобы указывать процесс по идентификатору, вы можете указать имя процесса. Если под этим именем работает несколько процессов, все они будут завершены. Продолжая наш пример с браузером Firefox, для того, чтобы завершить все процессы этого приложения, выполните следующую команду:
Команда pkill — завершаем процесс по части имени
Можно завершить процесс не только указав его имя целиком, но и частично. Это быстрее, ведь вам не нужно не только узнавать идентификатор процесса, но и указывать название процесса целиком, например так:
Однако, пользуясь этой командой нужно учитывать, что указанному критерию может соответсвовать несколько процессов, и тогда все они будут завершены.
Кроме того, нужно помнить, что переданные команде символы должны встречаться в первых 15 символах названия процесса.
Команда xkill — завершаем клиент сервера X
Команда xkill — простейший способ завершить неправильно работающую команду. После запуска команды xkill вам будет предложено указать курсором на окно, которое будет закрыто:
Команда xkill подаст серверу X инструкцию завершить указанного клиента.
Добавить комментарий
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
How to Kill Linux Process Using Kill, Pkill and Killall
Linux Operating System comes with a kill command to terminate a process. The command makes it possible to continue running the server without the need to reboot after a major change/update. Here comes the great power of Linux and this is one of the reasons, why Linux is running on 96.4% of servers, on the planet.
Kill command sends a signal, a specified signal to a currently running process. The kill command can be executed in a number of ways, directly or from a shell script.
Using kill command from /usr/bin provide you some extra feature to kill a process by process name using pkill.
Kill Command Usage
The common syntax for kill command is:
For a kill command a Signal Name could be:
Clearly from the behavior above, SIGTERM is the default and safest way to kill a process. SIGHUP is a less secure way of killing a process than SIGTERM. SIGKILL is the most unsafe way among the above three, to kill a process that terminates a process without saving.
In order to kill a process, we need to know the Process ID of a process. A Process is an instance of a program. Every time a program starts, automatically a unique PID is generated for that process.
Every Process in Linux has a pid. The first process that starts when Linux System is booted is the – init process, hence it is assigned a value of ‘1‘ in most cases.
Init is the master process and can not be killed this way, which ensures that the master process doesn’t get killed accidentally. Init decides and allows itself to be killed, where kill is merely a request for a shutdown.
List All Running Linux Processes
To know all the processes and correspondingly their assigned pid, run the following ps command.
Sample Output
How about Customising the above output using syntax as ‘pidof process‘.
Sample Output
Another way to achieve the above goal is to follow the below syntax.
Sample Output
How to Kill a Process in Linux
Before we step ahead and execute a kill command, some important points to be noted:
Another way to perform the same function is to execute the ‘pgrep‘ command.
Sample Output
To kill the above process PID, use the kill command as shown.
The above command will kill the process having pid=3139, where PID is a Numerical Value of the process.
Another way to perform the same function can be rewritten as.
How to Kill a Process in Linux Using Process Name
You must be aware of the process name, before killing and entering a wrong process name may screw you.
Kill more than one process at a time.
What if a process has too many instances and a number of child processes, we have a command ‘killall‘ or pkill. These two are the only commands of this family, which takes process name as argument in-place of process number.
Syntax:
To kill all mysql instances along with child processes, use the command as follow.
You can always verify the status of the process if it is running or not, using any of the below commands.
That’s all for now, from my side. I will soon be here again with another Interesting and Informative topic. Till Then, stay tuned, connected to Tecmint, and healthy. Don’t forget to give your valuable feedback in the comment section.
If You Appreciate What We Do Here On TecMint, You Should Consider:
TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.
If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.
We are thankful for your never ending support.
Убиваем процессы в Linux — команды ps, kill и killall
Под процессом мы будем понимать запущенную в системе копию программы. Например, если вы открыли три окна калькулятора (например, gcalctool), это значит, что вы запустили три процесса.
Находим PID зависшего процесса
Каждый процесс в Linux имеет свой идентификатор, называемый PID. Перед тем, как выполнить остановку процесса, нужно определить его PID. Для этого воспользуемся командами ps и grep. Команда ps предназначена для вывода списка активных процессов в системе и информации о них. Команда grep запускается одновременно с ps (в канале) и будет выполнять поиск по результатам команды ps. Вывести список всех процессов можно, выполнив в командной строке:
Но, как правило, список очень большой и найти процесс, который мы хотим «убить», бывает не так просто. Здесь на помощь приходит команда grep. Например, чтобы найти информацию о процессе с именем gcalctool выполните команду:
Команда grep выполнит поиск по результатам команды ps и на экран будут выведены только те строки, которые содержат строку (слово) gcalctool. Здесь есть одна интересная деталь, например, если у вас не запущено приложение gcalctool, то после выполнения ps axu | grep gcalctool вы получите:
То есть мы получили сам процесс grep, так как в качестве параметра команде мы указали слово gcalctool, и grep нашел сам себя в выводе команды ps.
Если процесс gcalctool запущен, то мы получим:
Есть еще один более простой способ узнать PID процесса — это команда pidof, которая принимает в качестве параметра название процесса и выводит его PID. Пример выполнения команды pidof:
«Убиваем» процесс командой kill
Сигнал SIGTERM может и не остановить процесс (например, при перехвате или блокировке сигнала), SIGKILL же выполняет уничтожение процесса всегда, так как его нельзя перехватить или проигнорировать.
Убиваем процессы командой killall
Команда killall в Linux предназначена для «убийства» всех процессов, имеющих одно и то же имя. Это удобно, так как нам не нужно знать PID процесса. Например, мы хотим закрыть все процессы с именем gcalctool. Выполните в терминале:
Команда killall, также как и kill, по умолчанию шлет сигнал SIGTERM. Чтобы послать другой сигнал нужно воспользоваться опцией -s. Например:
Заключение
Некоторые процессы не удается остановить под обычным пользователем. Например, если процесс был запущен от имени пользователя root или от имени другого пользователя системы, то команды kill и killall нужно выполнять от имени суперпользователя, добавляя sudo (в Ubuntu):
Бывают ситуации, когда вы работаете в графическом интерфейсе (например, GNOME) и вам не удается открыть эмулятор терминала, чтобы остановить зависший процесс. Тогда можно переключиться на виртуальную консоль клавишами Ctrl+Alt+F1, залогиниться в ней и выполнять команды уже из нее. А потом перейти обратно, нажав Ctrl+Alt+F7.
Справку по использованию любой команды можно получить командой man:
How do I kill processes in Ubuntu?
How do I kill all processes running by my own non-root account?
I have some spinning smbd processes that I caused from my windows machine and so I telnetted into the linux server and I want to kill those spinning processes. I don’t have authority to restart services or reboot the machine.
12 Answers 12
To kill all the processes that you have the permission to kill, simply run the command
To kill a specific process, say, firefox, simply run
pkill firefox or killall firefox depending on the behavior you want: What’s the difference between ‘killall’ and ‘pkill’?
If you want to see what processes are running use the command
If you want to look up all processes by user bob, this might help
or sudo killall
I just used it in my non root account, I wouldn’t be able to do it if it wasn’t for this Answer.
Let’s try something more:
The top command is the traditional way to view your system’s resource usage and see the processes that are taking up the most system resources. Top displays a list of processes, with the ones using the most CPU at the top.
htop displays the same information with an easier-to-understand layout. It also lets you select processes with the arrow keys and perform actions, such as killing them or changing their priority, with the F keys.
Found out more about xkill on x.org.
I’d break your problem into 2 parts:
1) How do I find the processes started by me? Run this:
The whoami is just in case you don’t know the name of the account you are using, otherwise just type the name of the account without the back quotes.
This will list all processes that can be deleted by your account.
And you wanted to kill the firefox process by its process id, then you’d do:
Then you’d re-run the same ps command and check if the process was still running. If it is still running, then do a
If you know the name of the process you can simply go killall
, where the is what you are trying to kill. For example: killall fish (fish, in this sense, is the Friendly Interactive SHell).
В этой статье мы рассмотрим несколько самых распространенных способов завершить процесс Linux. Опишем подробно как происходит остановка процесса и как все сделать правильно.
Как происходит завершение процесса?
Управление процессами в операционной системе Linux осуществляется с помощью сигналов. В том числе и завершение любого процесса. Сигналы передает система, но также их может передавать пользователь с помощью специальных команд или даже сочетаний клавиш в терминале. Когда процессу приходит сигнал о необходимости завершиться, он должен выполнить некоторые подготовительные действия.
Необходимо завершить дочерние процессы, удалить временные файлы, сокеты и так далее. Но в зависимости от сложности ситуации процесс может реагировать не на все сигналы. Рассмотрим основные сигналы, которые используются для завершения процесса:
Важно понимать, что нужно дать процессу возможность завершиться корректно. Желательно, чтобы порты и сокеты были освобождены, закрыты и удаленны временные файлы. Поэтому никогда не передавайте сразу SIGKILL. Передавайте сигналы завершения в последовательности, как они перечислены выше.
Для передачи сигналов процессам в Linux используется утилита kill. Ее синтаксис очень прост:
Допустим, у нас выполняется утилита ping. Мы хотим ее завершить с помощью kill. Тогда, сначала мы узнаем ее идентификатор с помощью команды ps:
ps aux | grep ping
В первой строчке отобразится сама утилита ping, а во второй сама программа ps. Берем нужный PID и завершаем процесс с помощью SIGTERM:
И только если после этой команды процесс продолжил висеть, а это вы можете проверить, выполнив ps. Только теперь можно выполнить SIGKILL:
Теперь снова проверяем:
Если процесс запущен от суперпользователя, то, естественно, вам нужно использовать sudo. Не всегда удобно уничтожать процесс по его PID, как минимум, потому, что вам этот PID нужно еще узнать. Мы могли бы нагородить сложных конструкций с использованием xargs, чтобы вычислять автоматически pid по имени процесса и сразу же его завершать, но в этом нет необходимости. Уже существуют специальные утилиты.
Как завершить процесс с помощью pkill
Также можно вручную задать тип сигнала:
Вместо ps, вы можете использовать утилиту pgrep для поиска pid процесса, убедимся что наша программа завершена:
Но если вам программа создала несколько процессов, например, браузер chromium или firefox создают отдельный процесс для каждой из вкладок, то эта утилита мало чем поможет. Тут нужен следующий вариант.
Как остановить процесс с помощью killall
killall работает аналогично двум предыдущим утилитам. Она тоже приминает имя процесса в качестве параметра и ищет его PID в директории /proc. Но эта утилита обнаружит все процессы, с таким именем и завершит их. Например:
Как видите, запущено несколько процессов, осталось остановить процесс Linux с помощью killall:
Команда завершит все запущенные утилиты ping, вы можете убедиться в этом еще раз выполнив pgrep: