如何killtomcat进程_java-如何在终端中杀死该tomcat进程?

java-如何在终端中杀死该tomcat进程?

使用ps -ef | grep tomcat我发现了一个正在运行的tomcat服务器。 我尝试了kill -9 {id},但它返回“无此过程”。 我究竟做错了什么?

这是一个例子:

Admins-MacBook-Pro:test-parent tom.maxwell$ ps -ef | grep tomcat

2043706342 39707 39695 0 3:40PM ttys000 0:00.00 grep tomcat

Admins-MacBook-Pro:test-parent tom.maxwell$ kill -9 39707

-bash: kill: (39707) - No such process

14个解决方案

122 votes

无需知道Tomcat的pid(进程ID)即可将其杀死。 您可以使用以下命令来杀死Tomcat:

pkill -9 -f tomcat

Darshan answered 2020-02-13T21:04:37Z

23 votes

ps -ef | grep tomcat | awk'{print $ 2}'| xargs杀死-9

[https://gist.github.com/nrshrivatsan/1d2ea4fcdcb9d1857076]

第1部分

ps -ef | grep tomcat =>使用tomcat grep获取所有进程

第2部分

一旦有了流程详细信息,就可以将其传递到脚本的第2部分中

awk'{print $ 2}'| xargs kill -9 =>获取第二列[Process id]并使用-9选项将其杀死

希望这可以帮助。

suryakrupa answered 2020-02-13T21:05:28Z

18 votes

Tomcat未运行。 您的搜索向您显示了grep进程,该进程正在搜索tomcat。 当然,到看到该输出时,grep不再运行,因此pid不再有效。

Aurand answered 2020-02-13T21:05:48Z

12 votes

正如其他人已经指出的那样,您已经看到了grep流程。 如果要将输出限制为tomcat本身,则有两种选择

将搜索到的第一个字符包装在字符类中

grep

这也会搜索tomcat,但是会错过grep条目,因为grep tomcat与它不匹配。

与ps一起使用自定义输出格式

grep

这仅显示pid和进程名称,而没有进程参数。 因此,grep列为grep,而不是grep tomcat。

Olaf Dietsche answered 2020-02-13T21:06:35Z

11 votes

只需在终端中键入以下命令

ps -ef |grep 'catalina'

复制进程ID的值,然后键入以下命令并粘贴进程ID

kill -9 processid

ASR answered 2020-02-13T21:06:59Z

2 votes

ps -ef

将列出您当前正在运行的所有进程

| grep tomcat

会将输出传递给grep并查找tomcat的实例。 由于grep本身是一个进程,因此将从您的命令中返回它。 但是,您的输出显示没有Tomcat运行的进程。

Chris Knight answered 2020-02-13T21:07:24Z

2 votes

ps -Af | grep "tomcat" | grep -v grep | awk '{print$2}' | xargs kill -9

Vaibhav answered 2020-02-13T21:07:39Z

2 votes

在tomcat/bin/catalina.sh

在注释部分结束后添加以下行:

CATALINA_PID=someFile.txt

然后,要杀死正在运行的Tomcat实例,可以使用:

kill -9 `cat someFile.txt`

Shrikar Kulkarni answered 2020-02-13T21:08:08Z

1 votes

这为我工作:

步骤1:回声ps aux | grep org.apache.catalina.startup.Bootstrap | grep -v grep | awk '{ print $2 }'

上面的命令返回“ process_id”

步骤2:杀死-9 processid

//此process_id与步骤1相同:

jaydip jadhav answered 2020-02-13T21:08:45Z

0 votes

我不得不终止服务器上许多Java进程中的activeMQ Java进程,而这一进程是由特定用户启动的(用户名是activemq)。因此,分隔的好方法可能是由特定用户启动进程:

ps -ef | grep "activemq" | awk '{print $2}' | xargs kill -9

dobrivoje answered 2020-02-13T21:09:06Z

0 votes

正如@Aurand所说,tomcat没有运行。 您可以使用

ps -ef |grep java | grep tomcat命令忽略ps程序。

在shell脚本文件中为我工作。

ccjeaty answered 2020-02-13T21:09:34Z

0 votes

kill -9 $(ps -ef | grep 8084 | awk 'NR==2{print $2}')

NR是输入文件中的记录数。awk可以查找或替换文本

user8357232 answered 2020-02-13T21:09:54Z

0 votes

要按名称杀死进程,请使用以下命令

tr -s " " | cut -d " " -f 2

tr -s " " | cut -d " " -f 2与awk '{print $2}'相同。tr将制表符空间限制为单个空间,并为cut提供了作为分隔符,并请求第二列。 ps aux输出中的第二列是进程ID。

Prathik Rajendran M answered 2020-02-13T21:10:24Z

0 votes

这非常有效(查找tomcat进程并强行杀死它们)

ps -ef | grep tomcat | awk '{print $2}' | xargs kill -9

Pravin answered 2020-02-13T21:10:43Z

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值