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를 다시 시작하고 있습니다.