shell 脚本获取 java 进程号并杀掉 如何写
时间: 2023-07-04 21:30:59 浏览: 76
可以使用如下的 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脚本获取对应进程号
在Linux环境中,可以使用ps命令获取进程信息,并通过grep命令筛选出特定进程的信息。在shell脚本中,可以使用以下命令获取对应进程号:
pid=$(ps -ef |grep "进程名" |grep -v grep |awk '{print $2}')
上述命令中,ps -ef可以列出所有进程信息,grep "进程名"可以筛选出对应进程的信息,grep -v grep可以排除grep自身的进程信息,awk '{print $2}'可以获取进程号。
获取到进程号后,可以根据需求使用kill命令杀死进程或其他操作。
shell脚本停止java进程
要停止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
```