![java进程在使用命令kill -9 pid杀死后继续重新启动](https://linux22.com/image/231289/java%E8%BF%9B%E7%A8%8B%E5%9C%A8%E4%BD%BF%E7%94%A8%E5%91%BD%E4%BB%A4kill%20-9%20pid%E6%9D%80%E6%AD%BB%E5%90%8E%E7%BB%A7%E7%BB%AD%E9%87%8D%E6%96%B0%E5%90%AF%E5%8A%A8.png)
我有一个名为 bung 的屏幕,在里面我使用 ./start.sh (运行 java 进程的脚本)运行一个 java 进程,但在输入该命令之前,我启动屏幕运行 screen -r bung 所以我打开进程并离开屏幕与 ctrl+a+d
一段时间后,该进程冻结了,所以我在屏幕上按 ctrl+c 加入它并停止它。但当我尝试打开它时,它说已经打开了。所以当我输入下面的命令时,它说 java 进程正在运行,如果我尝试杀死它,它就会被杀死,但重新执行脚本再次打开 java 进程,我无法解决这个问题,导致它不断重新启动。
[root@vmi1478348 ~]# pgrep -a java
24979 java --illegal-access=permit -Duser.timezone=America/Sao_Paulo -Dlog4j2.formatMsgNoLookups=true -Xms1G -Xmx1G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs/ -Daikars.new.flags=true -jar bung.jar nogui
[root@vmi1478348 ~]#
也许有一个鬼屏还在运行?
[root@vmi1478348 ~]# screen -ls
There are screens on:
18043.lob (Detached)
10196.fac (Detached)
10100.hu3 (Detached)
9868.bung (Detached)
4 Sockets in /var/run/screen/S-root.
[root@vmi1478348 ~]#
答案1
解决方案:应该杀死另一个进程pid
根 22592 0.0 0.0 113292 1476 点/1 S+ 03:28 0:02 /bin/sh ./start.sh
该进程 pid 正在重新启动 java 进程 pid