csharp
[root@123456]# ps -ef | grep java
root 12345 1 0 Jun20 ? 01:35:22 java -jar book-server-0.0.1-SNAPSHOT.jar
1️⃣ 能看到什么信息
- 进程号:
12345
- 启动方式:
java -jar book-server-0.0.1-SNAPSHOT.jar
- 没有写绝对路径 ,只写了
book-server-0.0.1-SNAPSHOT.jar
这说明:
-
当时启动命令是在某个目录下执行的,比如:
bashcd /home/admin/ java -jar book-server-0.0.1-SNAPSHOT.jar
-
所以 jar 文件就在 启动时所在的目录。
2️⃣ 如何找到目录
可以用以下方法确认 jar 的真实位置:
方法一:找进程的工作目录
bash
ls -l /proc/12345/cwd
这个命令会显示进程的当前工作目录(cwd = current working directory)。
输出类似:
bash
lrwxrwxrwx 1 root root 0 Sep 24 10:00 /proc/96375/cwd -> /home/admin
👉 这就说明 jar 在 /home/admin/book-server-0.0.1-SNAPSHOT.jar
方法二:直接查 jar 文件
javascript
find / -name "book-server-0.0.1-SNAPSHOT.jar" 2>/dev/null
会返回完整路径,比如:
arduino
/home/admin/book-server-0.0.1-SNAPSHOT.jar
3️⃣ 结论
- 你的 jar 文件在 当时执行启动命令的目录下。
- 多半就是
/home/admin/
(因为你现在的命令行提示符是[admin@iZ2zed18dkqwu6tid2z43nZ ~]$
,~
就是/home/admin/
)。
👉 所以,你可以在 /home/admin/
目录下新建 application-prod.yml
:
bash
cd /home/admin/
nano application-prod.yml
然后重启的时候用:
ini
java -jar book-server-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod