RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    How to restart ES from a script?

    Scheduled Pinned Locked Moved Help and Support
    scriptessystems.cfgrestart
    111 Posts 5 Posters 40.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.
    • BuZzB
      BuZz administrators @cyperghost
      last edited by

      @cyperghost said in How to restart ES from a script?:

      pkill -f "/emulationstation$"

      Worked here when I just tested.

      To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

      cyperghostC 1 Reply Last reply Reply Quote 1
      • cyperghostC
        cyperghost @BuZz
        last edited by cyperghost

        @BuZz Wait I post output in a few minutes...

        pi@retropie:~ $ ls /tmp
        es-restart  omxplayerdbus.root  omxplayerdbus.root.pid
        pi@retropie:~ $ ps -a
          PID TTY          TIME CMD
          862 tty1     00:00:00 bash
          867 tty1     00:00:00 bash
          868 tty1     00:00:00 emulationstatio
          874 tty1     00:00:00 emulationstatio
          877 tty1     00:00:13 emulationstatio
          990 pts/0    00:00:00 ps
        

        The command pkill

        pi@retropie:~ $ pkill -f -e "/emulationstation$"
        emulationstatio killed (pid 868)
        emulationstatio killed (pid 877)
        

        check with ps -a

        pi@retropie:~ $ ps -a
          PID TTY          TIME CMD
          862 tty1     00:00:00 bash
          874 tty1     00:00:00 emulationstatio
         1001 tty1     00:00:08 emulationstatio
         1071 pts/0    00:00:00 ps
        

        worked now... sorry... but 2 PIDs alive
        If PID 874 in my current setup will be killed than ES is wrecked.

        Thank you

        BuZzB 1 Reply Last reply Reply Quote 0
        • BuZzB
          BuZz administrators @cyperghost
          last edited by BuZz

          @cyperghost use ps -fa as you can't tell what they are from that. probably parent bash scripts (which is correct - they shouldn't be killed).

          To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

          1 Reply Last reply Reply Quote 1
          • TMNTturtlguyT
            TMNTturtlguy @cyperghost
            last edited by

            @BuZz @cyperghost

            touch /tmp/es-restart; killall -e "/opt/retropie/supplementary/emulationstation/emulationstation"

            runs fine all 3 PIDs are up to date

            When i use this in my script, it runs the first time. The second time i try to run it, the script crashes with error "cant remove /tmp/es-restart

            cyperghostC BuZzB 2 Replies Last reply Reply Quote 0
            • cyperghostC
              cyperghost
              last edited by

              @BuZz
              Thank you I will remember that command!
              Very usefull :)

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

                @TMNTturtlguy I will check....
                I tested all scripts 2 two 3 times... all runing fine

                1 Reply Last reply Reply Quote 0
                • BuZzB
                  BuZz administrators @TMNTturtlguy
                  last edited by

                  @TMNTturtlguy said in How to restart ES from a script?:

                  @BuZz @cyperghost

                  touch /tmp/es-restart; killall -e "/opt/retropie/supplementary/emulationstation/emulationstation"

                  When i use this in my script, it runs the first time. The second time i try to run it, the script crashes with error "cant remove /tmp/es-restart

                  because custom retropie scripts are actually run as root - ill change that I think, but just make sure you create it owned by pi for now.

                  sudo -u pi touch /tmp/es-restart
                  pkill -f "/emulationstation$"
                  

                  To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                  cyperghostC 2 Replies Last reply Reply Quote 0
                  • cyperghostC
                    cyperghost @BuZz
                    last edited by

                    @BuZz Solid work!
                    Thank you

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

                      @BuZz What is your prefered method?
                      pkill or killall? I think pkill offers more room for changes.

                      BuZzB 1 Reply Last reply Reply Quote 0
                      • BuZzB
                        BuZz administrators
                        last edited by

                        I have updated retropie-setup so user scripts will now be launched as a normal user without elevated permissions (can use sudo in a script if needed).

                        To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                        1 Reply Last reply Reply Quote 1
                        • BuZzB
                          BuZz administrators @cyperghost
                          last edited by

                          @cyperghost pkill so it can kill emulationstation running from any path.

                          To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

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

                            @BuZz
                            Ufff... that was hard stuff!

                            TMNTturtlguyT 1 Reply Last reply Reply Quote 0
                            • TMNTturtlguyT
                              TMNTturtlguy @cyperghost
                              last edited by

                              @cyperghost @BuZz i updated retropie-setup and now i can't run my script, and i also cannot do anything within the retropie setup script either. I enter restropie setup, it freezes up for a bit and then exits back to the retropie menu.

                              BuZzB 1 Reply Last reply Reply Quote 0
                              • cyperghostC
                                cyperghost
                                last edited by

                                Wait a moment...

                                1 Reply Last reply Reply Quote 0
                                • BuZzB
                                  BuZz administrators @TMNTturtlguy
                                  last edited by BuZz

                                  @TMNTturtlguy did you reboot ? you may want to sudo rm /tmp/es-restart also.

                                  To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                                  cyperghostC 1 Reply Last reply Reply Quote 0
                                  • BuZzB
                                    BuZz administrators
                                    last edited by

                                    There is a problem after launching the first time. Will check.

                                    To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                                    1 Reply Last reply Reply Quote 1
                                    • cyperghostC
                                      cyperghost @BuZz
                                      last edited by cyperghost

                                      @BuZz There seems to be a problem with the one lost PID!
                                      I did not update but I'm facing the same problem!

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

                                        No the first killall script runs in best condition!
                                        All 3 PIDs are running there!

                                        touch /tmp/es-restart; killall -e "/opt/retropie/supplementary/emulationstation/emulationstation"
                                        

                                        and I can execute @TMNTturtlguy script like usual behavior.

                                        BuZzB TMNTturtlguyT 2 Replies Last reply Reply Quote 0
                                        • BuZzB
                                          BuZz administrators @cyperghost
                                          last edited by BuZz

                                          @cyperghost the pkill isn't working as it also kills a needed parent process as the pattern matches a bash line which I missed.

                                          touch /tmp/es-restart
                                          pkill -f "/opt/retropie/supplementary/.*/emulationstation$"
                                          

                                          should sort it

                                          To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                                          1 Reply Last reply Reply Quote 0
                                          • TMNTturtlguyT
                                            TMNTturtlguy @cyperghost
                                            last edited by

                                            @cyperghost @BuZz Ok, so I did the ps -a and killed the largest emulationstatio and i can at least navigate the menus again....so yes the pkill is causing the issue,

                                            Next issue is after the setup script update my script gives an error saying that '/opt/retropie/configs/all/emulationstation/es_systems.cfg' is write protected and the script errors out.

                                            BuZzB 1 Reply Last reply Reply Quote 0
                                            • 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.