Skip to content

Rogue Pidfile Found #188

@tunloop

Description

@tunloop
  • '[' -L /etc/init.d/minecraft ']'
    ++ readlink -e /etc/init.d/minecraft
    ++ sed 's:[^/]*$:config:'
  • source /home/mcuser/minecraft-init/config
    ++ MC_JAR=server.jar
    ++ SERVICE=server.jar
    ++ SCREEN=server_screen
    ++ USERNAME=mcuser
    ++ MCPATH=/home/mcuser/minecraft-server
    ++ SERVERLOG=/home/mcuser/minecraft-server/logs/latest.log
    ++ WORLDSTORAGE=/home/mcuser/minecraft-server/world
    ++ CPU_COUNT=4
    ++ INITMEM=2048M
    ++ MAXMEM=4096M
    ++ FORMAT='$1'
    ++ BACKUPPATH=/home/mcuser/mcbackup/worlds
    ++ WHOLEBACKUP=/home/mcuser/mcbackup/server
    ++ BACKUPFORMAT=tar
    ++ BACKUPSCRIPTCOMPATIBLE=YES
    ++ COMPRESS_WHOLEBACKUP=YES
    ++ LOGPATH=/home/mcuser/mcbackup/logs
    ++ GZIPLOGS=YES
    ++ LOGFILEAPPEND=logfile_
    ++ OUTPUTMAP=/home/mcuser/mc-overviewer/render
    ++ OVPATH=/home/mcuser/mc-overviewer/Minecraft-Overviewer
    ++ OVCONFIGPATH=/home/mcuser/mc-overviewer
    ++ OVCONFIGNAME=config.py
    ++ OVBACKUP=/home/mcuser/mc-overviewer/overviewerbackups
    ++ INVOCATION='java -Xmx4096M -Xms2048M -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=4 -XX:+AggressiveOpts -jar server.jar nogui'
    ++ RAMDISK=/dev/shm
  • '[' server.jar == '' ']'
    ++ whoami
  • ME=mcuser
  • trap force_exit SIGINT
  • case "$1" in
  • is_running
  • pidfile=/home/mcuser/minecraft-server/server_screen.pid
  • '[' -f /home/mcuser/minecraft-server/server_screen.pid ']'
  • ps ax
  • grep -v grep
  • grep 'server_screen java -Xmx4096M -Xms2048M -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=4 -XX:+AggressiveOpts -jar server.jar nogui'
  • return 1
  • check_links
  • get_worlds
  • SAVEIFS='
    '
    ++ echo -en '\n\b'
  • IFS=' '
  • a=1
    ++ ls /home/mcuser/minecraft-server/world
  • for NAME in $(ls $WORLDSTORAGE)
  • '[' -d /home/mcuser/minecraft-server/world/advancements ']'
  • WORLDNAME[$a]=advancements
  • '[' -e /home/mcuser/minecraft-server/world/advancements/ramdisk ']'
  • WORLDRAM[$a]=false
  • a=1+1
  • for NAME in $(ls $WORLDSTORAGE)
  • '[' -d /home/mcuser/minecraft-server/world/data ']'
  • WORLDNAME[$a]=data
  • '[' -e /home/mcuser/minecraft-server/world/data/ramdisk ']'
  • WORLDRAM[$a]=false
  • a=1+1+1
  • for NAME in $(ls $WORLDSTORAGE)
  • '[' -d /home/mcuser/minecraft-server/world/datapacks ']'
  • WORLDNAME[$a]=datapacks
  • '[' -e /home/mcuser/minecraft-server/world/datapacks/ramdisk ']'
  • WORLDRAM[$a]=false
  • a=1+1+1+1
  • for NAME in $(ls $WORLDSTORAGE)
  • '[' -d /home/mcuser/minecraft-server/world/DIM-1 ']'
  • WORLDNAME[$a]=DIM-1
  • '[' -e /home/mcuser/minecraft-server/world/DIM-1/ramdisk ']'
  • WORLDRAM[$a]=false
  • a=1+1+1+1+1
  • for NAME in $(ls $WORLDSTORAGE)
  • '[' -d /home/mcuser/minecraft-server/world/DIM1 ']'
  • WORLDNAME[$a]=DIM1
  • '[' -e /home/mcuser/minecraft-server/world/DIM1/ramdisk ']'
  • WORLDRAM[$a]=false
  • a=1+1+1+1+1+1
  • for NAME in $(ls $WORLDSTORAGE)
  • '[' -d /home/mcuser/minecraft-server/world/level.dat ']'
  • for NAME in $(ls $WORLDSTORAGE)
  • '[' -d /home/mcuser/minecraft-server/world/level.dat_old ']'
  • for NAME in $(ls $WORLDSTORAGE)
  • '[' -d /home/mcuser/minecraft-server/world/playerdata ']'
  • WORLDNAME[$a]=playerdata
  • '[' -e /home/mcuser/minecraft-server/world/playerdata/ramdisk ']'
  • WORLDRAM[$a]=false
  • a=1+1+1+1+1+1+1
  • for NAME in $(ls $WORLDSTORAGE)
  • '[' -d /home/mcuser/minecraft-server/world/poi ']'
  • WORLDNAME[$a]=poi
  • '[' -e /home/mcuser/minecraft-server/world/poi/ramdisk ']'
  • WORLDRAM[$a]=false
  • a=1+1+1+1+1+1+1+1
  • for NAME in $(ls $WORLDSTORAGE)
  • '[' -d /home/mcuser/minecraft-server/world/region ']'
  • WORLDNAME[$a]=region
  • '[' -e /home/mcuser/minecraft-server/world/region/ramdisk ']'
  • WORLDRAM[$a]=false
  • a=1+1+1+1+1+1+1+1+1
  • for NAME in $(ls $WORLDSTORAGE)
  • '[' -d /home/mcuser/minecraft-server/world/session.lock ']'
  • for NAME in $(ls $WORLDSTORAGE)
  • '[' -d /home/mcuser/minecraft-server/world/stats ']'
  • WORLDNAME[$a]=stats
  • '[' -e /home/mcuser/minecraft-server/world/stats/ramdisk ']'
  • WORLDRAM[$a]=false
  • a=1+1+1+1+1+1+1+1+1+1
  • IFS='
    '
  • for INDEX in ${!WORLDNAME[@]}
  • [[ -L /home/mcuser/minecraft-server/advancements ]]
    ++ ls -l /home/mcuser/minecraft-server/advancements
    ++ awk '{print $11}'
  • link=/home/mcuser/minecraft-server/world/advancements
  • false
  • '[' /home/mcuser/minecraft-server/world/advancements '!=' /home/mcuser/minecraft-server/world/advancements ']'
  • for INDEX in ${!WORLDNAME[@]}
  • [[ -L /home/mcuser/minecraft-server/data ]]
    ++ ls -l /home/mcuser/minecraft-server/data
    ++ awk '{print $11}'
  • link=/home/mcuser/minecraft-server/world/data
  • false
  • '[' /home/mcuser/minecraft-server/world/data '!=' /home/mcuser/minecraft-server/world/data ']'
  • for INDEX in ${!WORLDNAME[@]}
  • [[ -L /home/mcuser/minecraft-server/datapacks ]]
    ++ ls -l /home/mcuser/minecraft-server/datapacks
    ++ awk '{print $11}'
  • link=/home/mcuser/minecraft-server/world/datapacks
  • false
  • '[' /home/mcuser/minecraft-server/world/datapacks '!=' /home/mcuser/minecraft-server/world/datapacks ']'
  • for INDEX in ${!WORLDNAME[@]}
  • [[ -L /home/mcuser/minecraft-server/DIM-1 ]]
    ++ ls -l /home/mcuser/minecraft-server/DIM-1
    ++ awk '{print $11}'
  • link=/home/mcuser/minecraft-server/world/DIM-1
  • false
  • '[' /home/mcuser/minecraft-server/world/DIM-1 '!=' /home/mcuser/minecraft-server/world/DIM-1 ']'
  • for INDEX in ${!WORLDNAME[@]}
  • [[ -L /home/mcuser/minecraft-server/DIM1 ]]
    ++ ls -l /home/mcuser/minecraft-server/DIM1
    ++ awk '{print $11}'
  • link=/home/mcuser/minecraft-server/world/DIM1
  • false
  • '[' /home/mcuser/minecraft-server/world/DIM1 '!=' /home/mcuser/minecraft-server/world/DIM1 ']'
  • for INDEX in ${!WORLDNAME[@]}
  • [[ -L /home/mcuser/minecraft-server/playerdata ]]
    ++ ls -l /home/mcuser/minecraft-server/playerdata
    ++ awk '{print $11}'
  • link=/home/mcuser/minecraft-server/world/playerdata
  • false
  • '[' /home/mcuser/minecraft-server/world/playerdata '!=' /home/mcuser/minecraft-server/world/playerdata ']'
  • for INDEX in ${!WORLDNAME[@]}
  • [[ -L /home/mcuser/minecraft-server/poi ]]
    ++ ls -l /home/mcuser/minecraft-server/poi
    ++ awk '{print $11}'
  • link=/home/mcuser/minecraft-server/world/poi
  • false
  • '[' /home/mcuser/minecraft-server/world/poi '!=' /home/mcuser/minecraft-server/world/poi ']'
  • for INDEX in ${!WORLDNAME[@]}
  • [[ -L /home/mcuser/minecraft-server/region ]]
    ++ ls -l /home/mcuser/minecraft-server/region
    ++ awk '{print $11}'
  • link=/home/mcuser/minecraft-server/world/region
  • false
  • '[' /home/mcuser/minecraft-server/world/region '!=' /home/mcuser/minecraft-server/world/region ']'
  • for INDEX in ${!WORLDNAME[@]}
  • [[ -L /home/mcuser/minecraft-server/stats ]]
    ++ ls -l /home/mcuser/minecraft-server/stats
    ++ awk '{print $11}'
  • link=/home/mcuser/minecraft-server/world/stats
  • false
  • '[' /home/mcuser/minecraft-server/world/stats '!=' /home/mcuser/minecraft-server/world/stats ']'
  • to_ram
  • get_worlds
  • SAVEIFS='
    '
    ++ echo -en '\n\b'
  • IFS=' '
  • a=1
    ++ ls /home/mcuser/minecraft-server/world
  • for NAME in $(ls $WORLDSTORAGE)
  • '[' -d /home/mcuser/minecraft-server/world/advancements ']'
  • WORLDNAME[$a]=advancements
  • '[' -e /home/mcuser/minecraft-server/world/advancements/ramdisk ']'
  • WORLDRAM[$a]=false
  • a=1+1
  • for NAME in $(ls $WORLDSTORAGE)
  • '[' -d /home/mcuser/minecraft-server/world/data ']'
  • WORLDNAME[$a]=data
  • '[' -e /home/mcuser/minecraft-server/world/data/ramdisk ']'
  • WORLDRAM[$a]=false
  • a=1+1+1
  • for NAME in $(ls $WORLDSTORAGE)
  • '[' -d /home/mcuser/minecraft-server/world/datapacks ']'
  • WORLDNAME[$a]=datapacks
  • '[' -e /home/mcuser/minecraft-server/world/datapacks/ramdisk ']'
  • WORLDRAM[$a]=false
  • a=1+1+1+1
  • for NAME in $(ls $WORLDSTORAGE)
  • '[' -d /home/mcuser/minecraft-server/world/DIM-1 ']'
  • WORLDNAME[$a]=DIM-1
  • '[' -e /home/mcuser/minecraft-server/world/DIM-1/ramdisk ']'
  • WORLDRAM[$a]=false
  • a=1+1+1+1+1
  • for NAME in $(ls $WORLDSTORAGE)
  • '[' -d /home/mcuser/minecraft-server/world/DIM1 ']'
  • WORLDNAME[$a]=DIM1
  • '[' -e /home/mcuser/minecraft-server/world/DIM1/ramdisk ']'
  • WORLDRAM[$a]=false
  • a=1+1+1+1+1+1
  • for NAME in $(ls $WORLDSTORAGE)
  • '[' -d /home/mcuser/minecraft-server/world/level.dat ']'
  • for NAME in $(ls $WORLDSTORAGE)
  • '[' -d /home/mcuser/minecraft-server/world/level.dat_old ']'
  • for NAME in $(ls $WORLDSTORAGE)
  • '[' -d /home/mcuser/minecraft-server/world/playerdata ']'
  • WORLDNAME[$a]=playerdata
  • '[' -e /home/mcuser/minecraft-server/world/playerdata/ramdisk ']'
  • WORLDRAM[$a]=false
  • a=1+1+1+1+1+1+1
  • for NAME in $(ls $WORLDSTORAGE)
  • '[' -d /home/mcuser/minecraft-server/world/poi ']'
  • WORLDNAME[$a]=poi
  • '[' -e /home/mcuser/minecraft-server/world/poi/ramdisk ']'
  • WORLDRAM[$a]=false
  • a=1+1+1+1+1+1+1+1
  • for NAME in $(ls $WORLDSTORAGE)
  • '[' -d /home/mcuser/minecraft-server/world/region ']'
  • WORLDNAME[$a]=region
  • '[' -e /home/mcuser/minecraft-server/world/region/ramdisk ']'
  • WORLDRAM[$a]=false
  • a=1+1+1+1+1+1+1+1+1
  • for NAME in $(ls $WORLDSTORAGE)
  • '[' -d /home/mcuser/minecraft-server/world/session.lock ']'
  • for NAME in $(ls $WORLDSTORAGE)
  • '[' -d /home/mcuser/minecraft-server/world/stats ']'
  • WORLDNAME[$a]=stats
  • '[' -e /home/mcuser/minecraft-server/world/stats/ramdisk ']'
  • WORLDRAM[$a]=false
  • a=1+1+1+1+1+1+1+1+1+1
  • IFS='
    '
  • for INDEX in ${!WORLDNAME[@]}
  • false
  • for INDEX in ${!WORLDNAME[@]}
  • false
  • for INDEX in ${!WORLDNAME[@]}
  • false
  • for INDEX in ${!WORLDNAME[@]}
  • false
  • for INDEX in ${!WORLDNAME[@]}
  • false
  • for INDEX in ${!WORLDNAME[@]}
  • false
  • for INDEX in ${!WORLDNAME[@]}
  • false
  • for INDEX in ${!WORLDNAME[@]}
  • false
  • for INDEX in ${!WORLDNAME[@]}
  • false
  • mc_start
  • servicejar=/home/mcuser/minecraft-server/server.jar
  • '[' '!' -f /home/mcuser/minecraft-server/server.jar ']'
  • pidfile=/home/mcuser/minecraft-server/server_screen.pid
  • check_permissions
  • as_user 'touch /home/mcuser/minecraft-server/server_screen.pid'
  • '[' mcuser == mcuser ']'
  • bash -c 'touch /home/mcuser/minecraft-server/server_screen.pid'
  • as_user 'test -w '''/home/mcuser/minecraft-server/server_screen.pid''''
  • '[' mcuser == mcuser ']'
  • bash -c 'test -w '''/home/mcuser/minecraft-server/server_screen.pid''''
  • as_user 'cd /home/mcuser/minecraft-server && screen -dmS server_screen java -Xmx4096M -Xms2048M -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=4 -XX:+AggressiveOpts -jar server.jar nogui'
  • '[' mcuser == mcuser ']'
  • bash -c 'cd /home/mcuser/minecraft-server && screen -dmS server_screen java -Xmx4096M -Xms2048M -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=4 -XX:+AggressiveOpts -jar server.jar nogui'
  • as_user 'screen -list | grep .server_screen | cut -f1 -d'''.''' | head -n 1 | tr -d -c 0-9 > /home/mcuser/minecraft-server/server_screen.pid'
  • '[' mcuser == mcuser ']'
  • bash -c 'screen -list | grep .server_screen | cut -f1 -d'''.''' | head -n 1 | tr -d -c 0-9 > /home/mcuser/minecraft-server/server_screen.pid'
  • seconds=0
  • is_running
  • pidfile=/home/mcuser/minecraft-server/server_screen.pid
  • '[' -f /home/mcuser/minecraft-server/server_screen.pid ']'
    ++ head -1 /home/mcuser/minecraft-server/server_screen.pid
  • pid=11406
  • ps ax
  • grep -v grep
  • grep 11406
  • grep server_screen
  • '[' -z '' ']'
  • '[' -z '' ']'
  • roguePrinted=1
  • echo 'Rogue pidfile found!'
    Rogue pidfile found!
  • return 1
  • sleep 1
  • seconds=0+1
  • [[ 0+1 -eq 5 ]]
  • [[ 0+1 -ge 120 ]]
  • is_running
  • pidfile=/home/mcuser/minecraft-server/server_screen.pid
  • '[' -f /home/mcuser/minecraft-server/server_screen.pid ']'
    ++ head -1 /home/mcuser/minecraft-server/server_screen.pid
  • pid=11406
  • ps ax
  • grep -v grep
  • grep 11406
  • grep server_screen
  • '[' -z '' ']'
  • '[' -z 1 ']'
  • return 1
  • sleep 1
    ^C++ force_exit
    ++ echo ''

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions