#!/bin/sh echo " =====关闭Java应用======" #######修改下面的 jar包 名######### PID=`lsof -i:6002| grep LISTEN |awk '{print $2}'` if [ $PID >> 0 ];then kill -9 $PID nohup java $JAVA_OPTS -jar -Xms1024m -Xmx2048m ./*.jar -Duser.timezone=Asia/Shanghai 2>&1 | rotatelogs /wasoft/logs/fmapp-%Y-%m-%d.out 43200 480 & else nohup java $JAVA_OPTS -jar -Xms1024m -Xmx2048m ./*.jar -Duser.timezone=Asia/Shanghai 2>&1 | rotatelogs /wasoft/logs/fmapp-%Y-%m-%d.out 43200 480 & fi tail -f log/basesc-by1.log
时间: 2024-04-18 16:26:34 浏览: 15
这段 Shell 脚本的作用是关闭一个 Java 应用,并重新启动它。具体步骤如下:
1. 首先,通过 lsof 命令找到监听在端口 6002 上的 Java 进程,并获取其进程 ID(PID)。
2. 如果 PID 大于 0,说明进程存在,使用 kill 命令强制终止该进程。
3. 然后,使用 nohup 命令启动一个新的 Java 进程,执行指定的 jar 文件,并设置 JVM 的内存参数(-Xms 和 -Xmx)以及时区参数(-Duser.timezone)。
4. 将 Java 进程的输出重定向到指定的日志文件,并使用 rotatelogs 工具按照一定时间间隔和文件大小进行日志切割。
5. 如果 PID 为 0,说明进程不存在,直接启动一个新的 Java 进程。
最后,使用 tail 命令实时查看日志文件 `log/basesc-by1.log` 的内容。
请注意,这是一段示例代码,具体使用时需要根据实际情况修改相关配置和文件路径。
相关问题
/home/datasci/下载/hadoop-2.10.0/bin/hadoop: 行 169: /path/to/jdk=/home/datasci/下载/jdk1.8.0_251/bin/java: 没有那个文件或目录
这个错误提示意味着hadoop脚本无法找到 Java 开发工具包 (JDK) 的位置,因此无法启动Hadoop。你需要确保你已经正确安装了JDK并将其添加到了系统路径中。
检查以下几个方面:
1. 确认你已经正确安装了JDK,并且可以在终端中运行`java`命令。
2. 确认你已经将JDK的路径添加到了系统环境变量中。你可以通过运行以下命令来检查环境变量:`echo $JAVA_HOME`。如果该命令没有输出JDK的路径,则说明该路径没有添加到环境变量中。你可以参考以下命令将其添加到环境变量中:
```
export JAVA_HOME=/path/to/jdk
export PATH=$JAVA_HOME/bin:$PATH
```
其中,`/path/to/jdk`是JDK的安装路径。
3. 确认你已经正确配置了Hadoop的环境变量。你可以检查`hadoop-env.sh`文件,确保其中的`JAVA_HOME`变量指向正确的JDK路径。
/bin/sh -c
/bin/sh -c 是一个命令,它可以让 bash 将一个字符串作为完整的命令来执行,并且可以将 sudo 的影响范围扩展到整条命令。具体用法如下: $ sudo /bin/sh -c 'command'。这个命令可以在一个shell脚本中使用,如果脚本中有多个echo命令,并且想要在Java中使用BufferedReader获取脚本的输出时,只能获取到第一个echo的输出。但是使用/bin/sh -c则能获取到所有的echo输出。\[1\]\[2\]\[3\]
#### 引用[.reference_title]
- *1* *3* [/bin/sh -c的必要性](https://blog.csdn.net/qq_34562093/article/details/89948303)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [命令中/bin/sh -c 参数](https://blog.csdn.net/qq_44792624/article/details/107189110)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]