nohup java -jar j.jar。 我想每次启动项目就会生成一个新文件监控项目
时间: 2023-11-12 20:03:37 浏览: 102
您可以使用Shell脚本来实现这个目的。首先,您需要在脚本中添加一行代码,用于生成一个新的文件名,比如:
```
LOG_FILE="log_$(date +%Y%m%d%H%M%S).txt"
```
这行代码会在每次启动脚本时生成一个以当前时间命名的新文件。然后,您需要将启动命令添加到脚本中:
```
nohup java -jar j.jar > $LOG_FILE 2>&1 &
```
这个命令会将java程序的输出重定向到新生成的日志文件中。最后,您可以将脚本保存为一个可执行文件,并在每次启动项目时运行它。
相关问题
java 后台运行jar
在Java中,后台运行jar文件通常是指将应用程序打包成独立的可执行文件,然后使其能够在用户未直接交互的情况下持续运行。这通常用于服务、监控工具或者是自动化脚本等场景。
要让Java应用作为后台服务运行jar文件,你可以按照以下步骤操作:
1. **创建jar文件**:首先,确保你的Java项目已经编译成功,并生成了`.jar`文件。
2. **设置环境变量**:配置`JAVA_HOME`环境变量指向你的Java安装路径,以便系统可以识别Java命令。
3. **使用nohup命令**:在Unix/Linux系统上,可以使用`nohup`命令将jar文件与终端分离,防止因为终端关闭而停止运行。例如:
```
nohup java -jar your-jar-file.jar &
```
这会启动jar并在后台运行,`&`符号表示在后台运行。
4. **Windows批处理文件**:在Windows上,你可以创建一个批处理文件 `.bat` 或者 `.cmd` 文件,包含类似以下内容:
```
start java -jar your-jar-file.jar > nul 2>&1 & pause
```
这样,java进程会在后台运行,并且暂停直到按下回车键。
5. **守护线程或服务**:如果你需要更持久的服务模式,可以考虑使用Java的`Runtime.exec()`方法来执行jar文件,或者利用第三方库如Spring Boot的`@Scheduled`注解创建定时任务,甚至通过服务端框架如Tomcat、Jetty部署为Web服务。
阅读全文