I want to exit a process using the command line, but I can't recall the command to look up the process's ID. Does anyone know it?
I want to exit a process using the command line, but I can't recall the command to look up the process's ID. Does anyone know it?
The command to find out a process's id (given its name) is
pidof
. However since your intention is to kill the process, there are better/easier ways than usingpidof
to find its pid first:Assuming the process you want to kill is uniquely identified by its name (or you want to kill all the processes with that name), you don't need to know its pid. You can simply do
killall processname
.If there are multiple processes with the same name, but you only want to kill one of them, using
pidof
won't help you much, because it will give you the pids, but it won't give you any information to determine which of the pids belongs to the process you actually want to kill.In this case you can do
ps aux | grep processname
which will shows all processes with the given name as well as the console they're running on (if applicable) and the arguments they were invoked with, which hopefully allows you to identify the process you're looking for.If the process opened any X-windows, you can also use
xkill
to kill (invokexkill
and then click on the window).You should have a look at
pgrep
andpkill
, two very handy and powerful utilities that are found on most Linux and UNIX systems.You can run
ps -A
in the terminal to show all the processes (with their process ID) that are currently running.I also had a similar problem. I used
pstree -p
; this showed me the current running processes including Process IDs.pidof
. Issueman pidof
for details.My favorite is
pstree -p | grep $(program_name)
. This actually greps the process, highlights it and shows the pid in parenthesis.My next favorite (especially when programming and needing all pids from process) is
pgrep -law ""
. This literally gives you every pid running followed by the application (with absolute path).This can be reduced to
pgrep -lw ""
for pid followed by program name or even justpgrep -l
for all pidsOf course, you can search for a particular program (or part of a program's) name. (i.e.
pgrep -lw firef
will probably display something like "4567 firefox").This answer, from @Ben on a duplicated question, has solved my problem:
Consider using the
top
command in terminal.via man top