【问题标题】:How to kill a process in bash through terminal [closed]如何通过终端杀死bash中的进程[关闭]
【发布时间】:2020-06-23 03:45:37
【问题描述】:

这可能是一个非常基本的问题,但我在互联网上的任何地方都找不到。 假设我有一个包含此代码的名为 test 的文件

echo hello
sleep 10
echo hello
sleep 10
echo hello
sleep 10

我将如何通过服务器中的另一个终端杀死该程序?

【问题讨论】:

标签: linux bash centos


【解决方案1】:

我假设文件是​​ test.sh

你可以这样做:

ps -x | grep ./test.sh

这将显示流程:

11164 pts/1    S+     0:00 /usr/bin/bash ./test.sh
and a second process that will be a grep process, you won't be able to kill the process that has the word grep in it because that process completes right away

现在您可以使用 PID 终止进程:

kill 11164

【讨论】:

  • 除了 kill 11543 之外的一切工作我得到了 -bash: kill: (11543) 的输出 - 每当我输入 kill 11543 时都没有这样的过程,我的输出是 -bash: kill: (11543) - 没有这样的进程进程
  • @slimy 尝试重做 ps -x | grep ./test.sh 命令,如果它显示进程它应该能够通过PID关闭进程。当您执行 ps -x 时,将有两个 PID,一个用于 grep 命令,一个用于脚本,您不希望使用 grep 命令。
  • 我收到此错误警告:语法错误,可能是虚假的“-”?见/usr/share/doc/procps-3.2.8/FAQ
  • @slimy 你能告诉我输出:ps -x | grep ./test.sh
  • 11848 pts/0 S+ 0:00 grep ./test.sh
【解决方案2】:

您的脚本文件名是test

所以,在另一个终端,你可以执行ps aux | grep test

然后你可以得到test的PID,它位于第二列。

然后,执行kill -9 <PID>

【讨论】:

  • 我使用 centos 6.9 作为服务器,我试过了,但它仍然没有工作它给我和错误 bash: kill: (11773) - 没有这样的过程 他们是一个名为 test.sh 和 ive 的文件正确完成所有步骤
  • @slimy 当你执行kill时你确定test.sh还没有完成吗?
【解决方案3】:
Ctrl c

按此键,您可以从终端中终止该程序。 你可以从你的主终端中杀死这个程序,你首先要执行它。

【讨论】:

  • 我知道按 ctrl C 和 ctrl Z 但我需要知道如何通过命令行来完成
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-03-23
  • 2021-07-24
  • 2018-09-12
  • 1970-01-01
  • 1970-01-01
  • 2020-09-19
  • 1970-01-01
相关资源
最近更新 更多