如何杀死这是在bash运行的进程 - 比如,假设我打开一个文件:杀死在bash的过程
$ gedit中file.txt的
有什么办法在命令提示符下关闭它?这个例子相当简单,因为我可以关闭窗口,但它似乎有点过时,特别是当我输错命令时。
还有什么办法来逃避正在运行的可执行文件?这可能有相同的解决方案,但我想我会问。
感谢
如何杀死这是在bash运行的进程 - 比如,假设我打开一个文件:杀死在bash的过程
$ gedit中file.txt的
有什么办法在命令提示符下关闭它?这个例子相当简单,因为我可以关闭窗口,但它似乎有点过时,特别是当我输错命令时。
还有什么办法来逃避正在运行的可执行文件?这可能有相同的解决方案,但我想我会问。
感谢
要中断它,您可以尝试按ctrlc发送SIGINT。如果它不能阻止它,你可以尝试使用kill -9 <pid>
杀死它,它发送一个SIGKILL。后者不能被进程本身(被杀的那个)忽略/拦截。
要将活动进程移动到后台,您可以按ctrlz。该过程被发送到后台,并返回到shell提示符。使用fg
命令做相反的操作。
你有多种选择:
首先,你可以使用kill。但是,您需要使用ps,pidof或pgrep可以获得的流程的PID。
ps -A // to get the pid, can be combined with grep
-or-
pidof <name>
-or-
pgrep <name>
kill <pid>
只知道名字就可以杀死一个进程。使用pkill或killall。
pkill <name>
-or-
killall <name>
所有命令都向该进程发送信号。如果这个过程就挂了,这可能是neccessary到sigkill发送给该进程(这是信号数字9,所以下面的例子做同样的):
pkill -9 <name>
pkill -SIGKILL <name>
您可以使用此选项kill
和killall
,太。
阅读关于controlling processes的文章,以获取有关过程的更多信息。
您可以使用命令pkill来终止进程。如果你想“玩耍”,你可以使用“pgrep”,它的作用完全相同,但返回的过程而不是杀死它。
pkill具有-f参数,可以让您匹配整个命令。因此,对于你来说,您可以:pkill的-f“的gedit file.txt的”
尝试kill -9 {processID}
要查找进程ID,您可以使用ps -ef | grep gedit
这对正常进程来说有点苛刻,你最好只在对'正常'kill请求没有反应的东西上使用它。 – 2010-05-05 16:27:41
也考虑使用pgrep而不是grepping ps - 特别是在编写脚本时 – 2010-05-05 16:45:24
您的意思是,我不清楚“转义正在运行的可执行文件”,但ctrl-z会将进程置于后台并将控制权返回给命令行。然后您可以使用fg命令将程序带回前台。
旧帖子,但我碰到了一个非常类似的问题。一些试验后,我发现,你可以用一个命令做到这一点:
kill $(ps aux | grep <process_name> | grep -v "grep" | cut -d " " -f2)
在OP的情况下,<process_name>
会"gedit file.txt"
。
虽然看起来不错,但不起作用。但是这个工作:ps -ef | grep yourproc | awk'{print $ 2}'| xargs kill – Timo 2015-03-08 19:19:19
分离器不好。你应该先调整它。这应该工作:kill -9 $(ps aux | grep“worker-manager-rsync”| grep -v“grep”| tr -s“”| cut -d“”-f 2) – ikken 2017-06-22 15:30:01
works!我只更改最后一位数字 kill $(ps aux | grep
请检查“顶”命令,然后如果你的脚本或任何正在运行,请注意“PID”
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1384 root 20 0 514m 32m 2188 S 0.3 5.4 55:09.88 example
14490 root 20 0 15140 1216 920 R 0.3 0.2 0:00.02 example2
kill <you process ID>
Example : kill 1384
这一个是谨慎的暴力使用:
pkill -9 -e -f processname
如果你的进程名是“sh”它也会杀死“bash”
这看起来更像是一个shell使用问题,而不是shell编程问题 - 最佳实践在脚本和交互式用法之间是不同的,后者属于超级用户ra而不是SO。 – 2010-05-05 16:46:27
我不明白这应该是如何重复链接的问题。这个问题询问关于杀死在当前终端运行的进程。 “重复”问题询问如何查找某个任意进程进程的进程ID以进行查杀。 – luator 2017-02-07 14:34:19