RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Mausberry Shutdown Script Doesn't Save Metadata

    Scheduled Pinned Locked Moved ControlBlock, PowerBlock & Co.
    mausberry
    251 Posts 10 Posters 100.0k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • meleuM
      meleu @lostless
      last edited by

      @lostless please, when posting a code like that put it beetween codeblocks. More info here: http://commonmark.org/help/

      • Useful topics
      • joystick-selection tool
      • rpie-art tool
      • achievements I made
      lostlessL 1 Reply Last reply Reply Quote 0
      • lostlessL
        lostless
        last edited by

        Looks like I’m missing the “wait”at the end compared to the script I use for the reset button. I’ll add it in and see if it helps. The issue I’m having though is not meta data related. As I said. When in ES, it funtions fine. It’s just when in retroarch that it no longer exits back to ES. Kodi is fine. It was working fine until yesterday.

        1 Reply Last reply Reply Quote 0
        • lostlessL
          lostless @meleu
          last edited by

          @meleu heres the script im using now, same issue

          #!/bin/bash
          # Terminate any emulatorcall!
          # This works just for RetroPie!
          emucall="$(sed -n 4p /dev/shm/runcommand.info | tr -d '\\"' | tr '^$[]*.()|+?{}' '.')"
          # If there's an emulator running, we need to kill it and go back to ES
          if [[ -n "$emucall" ]]; then
              emupid="$(pgrep -f "$emucall")" 
              pkill -P "$emupid"
              kill "$emupid"
              wait "$emupid"
              sleep 5 # maybe it can be lesser
          fi    
          

          and errors im getting trying to exit out of retroarch

          pkill: killing pid 1 failed: Operation not permitted
          pkill: killing pid 2 failed: Operation not permitted
          ./exit.sh: line 9: kill: `': not a pid or valid job spec
          ./exit.sh: line 10: wait: `': not a pid or valid job spec
          
          meleuM 1 Reply Last reply Reply Quote 0
          • meleuM
            meleu @lostless
            last edited by

            @lostless are you able to access your raspi via SSH while running an emulator?

            If yes, I would like to ask you to do this:

            1. launch a game.

            2. access your raspi via SSH.

            3. perform this command:

            bash -x /path/to/the/emulator/killer/script.sh 2> debug.txt
            
            1. The command above generates the debug.txt file. Post this file on ghostbin or something similar.

            Thanks.

            • Useful topics
            • joystick-selection tool
            • rpie-art tool
            • achievements I made
            lostlessL 1 Reply Last reply Reply Quote 0
            • lostlessL
              lostless @meleu
              last edited by

              @meleu https://ghostbin.com/paste/qa5ph
              Just want to say thanks for all your help.

              1 Reply Last reply Reply Quote 0
              • lostlessL
                lostless
                last edited by

                @meleu Sorry, looks like copying from nano cut a lot off text. heres a good copy
                https://ghostbin.com/paste/q9zsm

                meleuM 2 Replies Last reply Reply Quote 1
                • meleuM
                  meleu @lostless
                  last edited by meleu

                  @lostless Thanks for this. I've found the problem. The runcommand.sh script changed a bit 3 days ago. I just have to adapt my Regular Expression and make it stronger. Wait a little, I'll try to sort it on our script.

                  • Useful topics
                  • joystick-selection tool
                  • rpie-art tool
                  • achievements I made
                  1 Reply Last reply Reply Quote 1
                  • meleuM
                    meleu @lostless
                    last edited by

                    @lostless I made my tests on a shell where there's no RetroPie installed and I believe it will work fine. But, you know, sh!t happens...

                    Try this version, please (feedback would be appreciated):

                    #!/bin/bash
                    # Terminate any emulatorcall!
                    # This works just for RetroPie!
                    emucall="$(sed -n 4p /dev/shm/runcommand.info | tr -d '\\"' | tr '^$[]*.()|+?{}' '.' | sed 's/[^ ]*=[^ ]* //g')"
                    # If there's an emulator running, we need to kill it and go back to ES
                    if [[ -n "$emucall" ]]; then
                        emupid="$(pgrep -f "$emucall")" 
                        pkill -P "$emupid"
                        kill "$emupid"
                        wait "$emupid"
                        sleep 5 # maybe it can be lesser
                    fi
                    

                    maybe I'll try to simplify that crazy line with a simpler regex later... ;-)

                    • Useful topics
                    • joystick-selection tool
                    • rpie-art tool
                    • achievements I made
                    lostlessL 1 Reply Last reply Reply Quote 1
                    • lostlessL
                      lostless @meleu
                      last edited by

                      @meleu Its working in retroarch now im going to patch in into my mauseberry shutdown script!!!!!!!!!!!!!! YOU ARE THE MAN
                      But kodi is not working
                      https://ghostbin.com/paste/uqo6e
                      debug of kodi not exiting.
                      not a big deal if kodi does not work. Just kind of want my reset button to be the end all to go back to ES.

                      meleuM 1 Reply Last reply Reply Quote 1
                      • meleuM
                        meleu @lostless
                        last edited by

                        @lostless said in Mausberry Shutdown Script Doesn't Save Metadata:

                        But kodi is not working

                        Here it goes another version, trying to get kodi too:

                        # Terminate any emulatorcall!
                        # This works just for RetroPie!
                        emucall="$(sed -n 4p /dev/shm/runcommand.info | tr -d '\\"' | tr '^$[]*.()|+?{}' '.' | sed 's/[^ ]*=[^ ]* //g')"
                        # If there's an emulator running, we need to kill it and go back to ES
                        if [[ -n "$emucall" ]]; then
                            emupid="$(pgrep -f "$emucall" | tr '\n' ' ')"
                            pkill -P "$(echo $emupid | tr ' ' ',')"
                            kill "$emupid"
                            wait "$emupid"
                            sleep 5 # maybe it can be lesser
                        fi
                        
                        • Useful topics
                        • joystick-selection tool
                        • rpie-art tool
                        • achievements I made
                        cyperghostC 1 Reply Last reply Reply Quote 1
                        • lostlessL
                          lostless
                          last edited by

                          @meleu it works!!!!!! but now it looks like i blew out the gpio pin for my reset button. NOOOOOOOOOOOOOOOOO. That what i get for using a different build without gpio setup. GPIO DANGEROUS TO USE if not setup?

                          meleuM 1 Reply Last reply Reply Quote 0
                          • meleuM
                            meleu @lostless
                            last edited by

                            @lostless sorry, I didn't understand your last question...

                            • Useful topics
                            • joystick-selection tool
                            • rpie-art tool
                            • achievements I made
                            lostlessL 1 Reply Last reply Reply Quote 0
                            • lostlessL
                              lostless @meleu
                              last edited by lostless

                              @meleu has nothing to do with the script. that works . i was testing with another memory card without my gpio setup so i had 3.3v through a 10k resistor to the gpio. i think i burned out my gpio pins
                              Permissions issue I think. Reinstalled and gpio is now working

                              meleuM 1 Reply Last reply Reply Quote 0
                              • cyperghostC
                                cyperghost @meleu
                                last edited by

                                @meleu ;) So you see ... PID numbers are better to handle ;)
                                But I think in the kodi-case a simple pkill kodi would be better. Or am I wrong? Sorry I never will get the result as I never will install Kodi on my Pi alongside with RetroPie ;)

                                1 Reply Last reply Reply Quote 0
                                • meleuM
                                  meleu @lostless
                                  last edited by meleu

                                  @lostless hey man, would you be kind enough to test this version?:

                                  #!/bin/bash
                                  # the "sed" command below isn't a crypted message, it's just a Regular Expression
                                  # If you are very curious, feel free to ask.
                                  emucall="$(sed '4!d; s/\([\\"]\|[[:alnum:]_]\+=[^ ]* \)//g; s/[][(){}^$*.|+? ]/\\&/g' /dev/shm/runcommand.info)"
                                  
                                  # If there's an emulator running, we need to kill it and go back to ES
                                  if [[ -n "$emucall" ]]; then
                                      emupid="$(pgrep -f "$emucall" | tr '\n' ' ')"
                                      pkill -P "$(echo $emupid | tr ' ' ',')"
                                      kill "$emupid"
                                      wait "$emupid"
                                      sleep 5 # maybe it can be lesser
                                  fi
                                  

                                  Thanks in advance.

                                  • Useful topics
                                  • joystick-selection tool
                                  • rpie-art tool
                                  • achievements I made
                                  lostlessL 1 Reply Last reply Reply Quote 1
                                  • lostlessL
                                    lostless @meleu
                                    last edited by

                                    @meleu sorry, not working
                                    debug output

                                    /home/pi/exit.sh: line 4: unexpected EOF while looking for matching `)'
                                    /home/pi/exit.sh: line 14: syntax error: unexpected end of file
                                    
                                    meleuM 1 Reply Last reply Reply Quote 0
                                    • meleuM
                                      meleu @lostless
                                      last edited by meleu

                                      @lostless ooops! my fault. I edited the script above fixing the problem. can you please try again.

                                      • Useful topics
                                      • joystick-selection tool
                                      • rpie-art tool
                                      • achievements I made
                                      lostlessL 1 Reply Last reply Reply Quote 1
                                      • lostlessL
                                        lostless @meleu
                                        last edited by

                                        @meleu all good.

                                        meleuM 1 Reply Last reply Reply Quote 0
                                        • meleuM
                                          meleu @lostless
                                          last edited by

                                          @lostless does it mean it works? :)

                                          • Useful topics
                                          • joystick-selection tool
                                          • rpie-art tool
                                          • achievements I made
                                          lostlessL 1 Reply Last reply Reply Quote 0
                                          • lostlessL
                                            lostless @meleu
                                            last edited by

                                            @meleu yes its working

                                            meleuM 1 Reply Last reply Reply Quote 2
                                            • First post
                                              Last post

                                            Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                                            Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.