1、Windows
1.1、java重启代码
try {
String command = "shutdown.exe -r -t 0"; // -r 表示重启,-t 0 表示无延迟立即重启
Process process = Runtime.getRuntime().exec(command);
process.waitFor();
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
上述代码通过执行shutdown.exe命令并传入参数-r -t 0来重启计算机。
-r表示重启,
-t 0表示无延迟立即重启。
process.waitFor()会等待命令执行完毕。
最好采用管理员的身份执行。
本人采用脚本执行的,并且设置了开机自启
1.2、如何设置开机自启呢?
要设置开机时自动执行一个脚本,可以按照以下步骤进行操作:
- 将你的脚本文件移动到一个适当的位置,比如 C:\Scripts 文件夹下。
- 打开“任务计划程序”(Task Scheduler),可以通过在 Windows 搜索框中输入“任务计划程序”来找到它并打开。
- 在左侧面板中,选择“创建任务”(Create Task)。
- 在“常规”(General)选项卡中,给任务起一个名称,比如“启动脚本”。
- 在“触发器”(Triggers)选项卡中,点击“新建”(New)来创建一个新的触发器。
- 在触发器设置中,选择“开机”(At Startup)或者“启动时”。
- 在“操作”(Actions)选项卡中,点击“新建”(New)来创建一个新的操作。
- 在操作设置中,设置以下内容:
-
- 操作:启动程序
- 程序或脚本:选择你的脚本文件所在的路径,比如 C:\Scripts\your-script.bat
- 起始于(可选):设置你的脚本文件所在的目录,比如 C:\Scripts\
- 点击“确定”(OK)保存任务设置
1.3、管理员的身份执行脚本(可选)
@echo off
rem 其他脚本内容...
rem 以管理员身份运行 Java 程序
runas /user:Administrator java -jar your-java-program.jar
rem 其他脚本内容...
2、LINUX
2.1、java重启代码
try {
Runtime.getRuntime().exec("reboot");
} catch (IOException e) {
e.printStackTrace();
}
2.2、启动脚本
#!/bin/bash
# 进入 Java 程序所在的目录
cd /path/to/java/program
# 启动 Java 程序
java -jar your-java-program.jar
脚本中的 /path/to/java/program 代表 Java 程序所在的路径。将其替换为实际的路径。
在终端中执行以下命令,将脚本文件设置为可执行:
chmod +x start_java.sh
测试脚本是否能够正常启动 Java 程序:在终端中执行以下命令,确保脚本能够正常启动 Java 程序:
./start_java.sh
这样执行脚本就好了
2.3、开机自启
- 设置开机自动启动脚本:
配置系统使得在开机时自动启动该脚本。具体的方法可能有所不同,这里以 systemd 为例:创建一个名为 java_program.service 的文本文件,比如:
[Unit]
Description=Java Program
After=network.target
[Service]
ExecStart=/path/to/start_java.sh
[Install]
WantedBy=default.target
脚本中的 /path/to/start_java.sh 需要替换为实际的脚本文件路径。保存并关闭该文件。
- 将该服务文件移动到 /etc/systemd/system 目录:
sudo mv java_program.service /etc/systemd/system/
- 更新系统服务配置:
sudo systemctl daemon-reload
- 设置服务为自动启动:
sudo systemctl enable java_program.service