我有一个名为 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