shell脚本停止java进程
时间: 2023-07-07 16:44:30 浏览: 109
要停止Java进程,可以编写一个Shell脚本来实现。以下是一个简单的示例脚本:
```
#!/bin/bash
# 检查进程是否正在运行
if ps ax | grep -v grep | grep your-app.jar > /dev/null
then
# 获取进程ID
pid=`ps ax | grep -v grep | grep your-app.jar | awk '{print $1}'`
# 终止进程
kill -9 $pid
echo "进程已终止"
else
echo "进程未运行"
fi
```
在上面的示例脚本中,可以将“your-app.jar”替换为实际的JAR包名称。该脚本首先检查进程是否正在运行,如果是,则获取进程ID并使用“kill -9”命令终止进程。如果进程未运行,则输出一条消息。要执行该脚本,可以在终端中输入以下命令:
```
bash /path/to/script.sh
```
其中,“/path/to/script.sh”是脚本文件的路径。注意,脚本文件需要具有可执行权限,可以使用以下命令添加权限:
```
chmod +x /path/to/script.sh
```
相关问题
shell 脚本获取 java 进程号并杀掉 如何写
可以使用如下的 shell 脚本来获取 java 进程号并杀掉:
```shell
#!/bin/bash
# 获取 java 进程号
pid=$(ps -ef | grep java | grep -v grep | awk '{print $2}')
if [ -n "$pid" ]; then
# 杀掉 java 进程
kill -9 $pid
echo "Java 进程 $pid 已被杀掉"
else
echo "Java 进程不存在"
fi
```
其中 `ps -ef | grep java | grep -v grep | awk '{print $2}'` 可以获取正在运行的 java 进程的进程号。如果进程号不为空,就使用 `kill -9` 命令来杀掉该进程。如果进程号为空,就输出提示信息。
shell脚本关闭多个java进程
可以使用以下脚本来关闭多个Java进程:
```
#!/bin/bash
# 定义要关闭的进程名
processes=("java" "tomcat")
# 循环遍历进程名,逐个关闭进程
for process in "${processes[@]}"
do
# 查找进程ID
pids=$(ps -ef | grep $process | grep -v grep | awk '{print $2}')
# 关闭进程
if [ -z "$pids" ]
then
echo "No $process process found"
else
echo "Killing $process processes: $pids"
kill -9 $pids
fi
done
```
首先,我们定义了一个包含要关闭的进程名的数组 `processes`。然后,我们循环遍历这个数组,通过 `ps` 命令查找进程ID,并使用 `kill` 命令关闭进程。最后,我们输出关闭的进程信息。
请注意,这里我们使用了 `kill -9` 命令强制关闭进程,这意味着进程将不会有机会进行清理或保存状态。因此,请谨慎使用此脚本。
阅读全文