#!/bin/bash echo " =====关闭Java应用======" #######修改下面的 jar包 名######### PROCESS=`ps -ef |grep java |grep -v grep|grep pt-dealt|awk '{print $2}'` for i in $PROCESS do echo "Kill the $1 process [ $i ]" kill -9 $i done #rm -rf nohup.out echo " =====启动Java应用======" ############### 修改下面地址###### nohup java -Xms256m -Xmx512m -jar /wasoft/jar/pt-dealt/*.jar & echo $! > savePid.txt cat savePid.txt rm savePid.txt tail -f nohup.out
时间: 2023-09-12 17:06:48 浏览: 93
这段脚本是一个用于关闭和启动Java应用的Shell脚本。它的主要功能如下:
1. 首先,它会通过`ps`命令查找正在运行的Java进程,并根据进程名进行过滤。
2. 然后,它使用`kill -9`命令强制终止找到的Java进程。
3. 接下来,它会启动Java应用。在这个例子中,它使用`nohup`命令以后台方式启动,并指定了Java虚拟机的内存参数(-Xms256m和-Xmx512m)。同时,它使用`java -jar`命令运行了一个JAR文件(/wasoft/jar/pt-dealt/*.jar)。
4. 脚本将新启动的Java进程的进程ID保存到`savePid.txt`文件中,并在输出中显示该进程ID。
5. 最后,它删除了`savePid.txt`文件,并使用`tail -f nohup.out`命令来实时查看应用程序的输出日志(nohup.out文件)。
请注意,你需要根据你的实际情况修改脚本中的路径和文件名,确保正确地关闭和启动你的Java应用。
相关问题
在下面mageJk.sh 脚本文件中#!/bin/bash /usr/lib/jvm/jdk8u422-b05-jre/bin/java -jar /home/jetson/Downloads/ImageJ/ij.jar ,想加入logo, 如何做?
要在`mageJk.sh`脚本文件中加入一个logo显示,你可以采用多种方法。一个简单的方式是在脚本中加入命令来显示一个图像或者ASCII艺术。例如,如果你有一个logo的图片文件,你可以使用ImageMagick工具包中的`display`命令(如果它已经安装在你的系统中)来显示图片。这里是一个例子:
```bash
#!/bin/bash
# 显示logo
echo "显示ImageJk logo"
/usr/bin/display /path/to/your/logo.png
# 等待用户按键继续,否则脚本会立即继续执行
read -p "按任意键继续..." -n 1 -s
# 启动ImageJ
/usr/lib/jvm/jdk8u422-b05-jre/bin/java -jar /home/jetson/Downloads/ImageJ/ij.jar
```
请注意,`/path/to/your/logo.png`需要替换为你的实际logo图片路径。
如果你的环境中没有安装ImageMagick,或者你没有logo图片,你也可以使用ASCII艺术作为logo。你可以通过在线工具生成ASCII艺术,或者手动创建。然后将其添加到脚本中,使用`echo`命令打印出来。下面是一个使用ASCII艺术的例子:
```bash
#!/bin/bash
# 打印ASCII艺术logo
echo " ____ _ _ ____ ____ ____ _ _ ____ "
echo " ( _ \\/ )( \( __)/ ___)/ ___)/ )( \\( __)/ "
echo " )(_)\\ ) ( ) _) \\___ \\\\___ \\)\\_/ // __) "
echo " (____/\\_)(_/(__) (____/(___) /_/ (____) "
echo " "
echo " 启动ImageJ..."
# 启动ImageJ
/usr/lib/jvm/jdk8u422-b05-jre/bin/java -jar /home/jetson/Downloads/ImageJ/ij.jar
```
确保你的脚本文件有执行权限,你可以使用`chmod`命令来给予执行权限:
```bash
chmod +x mageJk.sh
```
运行脚本前,确保路径和文件名都是正确的,并且所有需要的工具和依赖都已经安装在你的系统中。
sqoop数据迁移时/bin/bash: /bin/java: No such file or directory
### Sqoop 数据迁移时 Java 路径错误解决方案
当在 Linux 上运行 Sqoop 进行数据迁移并遇到 `bin/bash: java: No such file or directory` 错误时,这通常意味着系统无法找到 Java 可执行文件。以下是详细的排查和解决方法:
#### 1. 验证 Java 安装
确保 Java 已正确安装,并且可以通过命令行访问。
```bash
java -version
```
如果此命令返回 Java 版本信息,则说明 Java 已经成功安装;如果没有响应或报错,则需要重新安装 Java[^2]。
#### 2. 设置 JAVA_HOME 环境变量
许多应用程序依赖于环境变量来定位 JDK 或 JRE 的位置。编辑 `/etc/profile` 文件,在其中添加如下内容:
```bash
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 # 根据实际路径修改
export PATH=$JAVA_HOME/bin:$PATH
```
使更改生效:
```bash
source /etc/profile
```
验证设置是否有效:
```bash
echo $JAVA_HOME
```
#### 3. 检查 Shell Script 执行权限
确认 `.sh` 文件具有可执行权限。如果不具备,赋予其相应的权限:
```bash
chmod +x your-script.sh
```
尝试再次运行脚本以查看问题是否得到解决。
#### 4. 修改 Shebang 行
有时 shell script 中的第一行 shebang (`#!/path/to/interpreter`) 不正确也会引发此类错误。打开有问题的脚本文件,检查首行是否指向正确的解释器路径,例如:
```bash
#!/bin/bash
```
保存更改后再试一次。
通过上述措施应该能够有效地处理因找不到 Java 导致的数据迁移失败情况。另外需要注意的是,对于 MySQL JDBC Driver 的放置也应遵循最佳实践,即将其放入 `$SQOOP_HOME/lib` 目录下而不是随意选择版本下载[^1]。
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![tar](https://img-home.csdnimg.cn/images/20250102104920.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)