如何杀死在bash中运行的进程 - 例如,假设我打开一个文件:
$ gedit file.txt
在命令提示符下有什么方法可以关闭它吗?这个例子相当简单,因为我可以关闭窗口,但它似乎有点出现,特别是当我输入错误的命令时.
还有什么方法可以逃避正在运行的可执行文件?这可能有相同的解决方案,但我想我还是会问.
谢谢
tan*_*ius 70
您有多种选择:
首先,你可以使用kill.但是你需要你的进程的pid,你可以通过使用ps,pidof或pgrep获得.
ps -A // to get the pid, can be combined with grep
-or-
pidof <name>
-or-
pgrep <name>
kill <pid>
Run Code Online (Sandbox Code Playgroud)
pkill <name>
-or-
killall <name>
Run Code Online (Sandbox Code Playgroud)
所有命令都向进程发送信号.如果进程挂起,可能需要向进程发送sigkill(这是信号9,因此以下示例也是如此):
pkill -9 <name>
pkill -SIGKILL <name>
Run Code Online (Sandbox Code Playgroud)
您可以使用此选项kill和killall了.
阅读本文关于控制流程以获得有关流程的更多信息.
jwe*_*ich 52
要中断它,您可以尝试按ctrl c发送SIGINT.如果它没有停止它,你可以尝试使用kill -9 <pid>它发送SIGKILL 来终止它.后者不能被进程本身(被杀死的人)忽略/拦截.
要将活动进程移动到后台,可以按ctrl z.该进程将发送到后台,您将返回到shell提示符.使用该fg命令执行相反的操作.
尝试 kill -9 {processID}
要查找可以使用的进程ID ps -ef | grep gedit
小智 5
旧帖子,但我遇到了一个非常相似的问题。经过一些试验,我发现你可以用一个命令来做到这一点:
kill $(ps aux | grep <process_name> | grep -v "grep" | cut -d " " -f2)
Run Code Online (Sandbox Code Playgroud)
在 OP 的情况下,<process_name>将是"gedit file.txt".
| 归档时间: |
|
| 查看次数: |
185725 次 |
| 最近记录: |