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を終了する必要があります。
root22592 0.0 0.0 113292 1476ポイント/1 S+ 03:28 0:02 /bin/sh ./start.sh
プロセスpidがJavaプロセスpidを再起動しています。