Restart ES by commandline?
-
Dear all,
is there a proper way (instead of using "kill") to restart ES from commandline?
-
Like reboot the entire system?
sudo reboot
Or JUST EmulationStation? (which I use "killall emulationstation" I believe). You can also properly quit EmulationStation to the command line by hitting Start > Quit > Quit EmulationStation (which should properly shut it down), then just type
emulationstation
in Terminal to restart it. -
I just want to restart ES. I do not want to reboot neither I want to use the standard quit dialog from ES by using a controller :)
I am looking for a way to restart ES from another terminal session without interacting in any way with the TV / controller / ES.Currently I am using
killall emulationstation && emulationstation &
to restart it. -
@daeks just type exit or emulationstation
-
@daeks you could also check for process id by ps aux commend and then type kill command with the specific process id but I still think that your option is better.
You can always make new alias in .bashrc file to assign this long command to just one small word like eg. eskill. -
Currently I am struggeling with:
export HOME=/home/pi export TERM="linux" emulationstation > /dev/tty1 2>&1 &
ES gets restarted but starting a game results in "Unable to open /dev/tty"
What I am missing here? :( @BuZz can you help?
-
Just trigger the ES launch script to restart it. Create
/tmp/es-restart
and send a SIGINT to es.[edit] corrected filename.
-
@BuZz omg, it could be simple.... thank you very much!
My final solution wassudo openvt -c 1 -s -f emulationstation 2>&1
but your way is much more appreciated :)
I am doing nowecho "" > /tmp/es-restart && killall emulationstation
-
@daeks said in Restart ES by commandline?:
can just use touch -
touch /tmp/es-restart
-
@BuZz thanks :) do you also know a quick way to close a running game? Restarting ES while a game is running looks not very good :/
-
@daeks you can kill retroarch, but if it's something else that won't help.
Something like this might be better - get the child process of the runcommand process, and send a SIGINT to that.
kill $(pgrep -P $(pgrep -f "bash /opt/retropie/supplementary/runcommand/runcommand.sh"))
-
@BuZz I have tested it on some emulators. it looks like that it does not catch everything. As an example scummvm is still running although the runcommand.sh was killed.
-
@daeks I would try to kill the command present on 4th line of
/dev/shm/runcommand.info
. -
@daeks strange as it shouldn't kill runcommand but the child. You could try meleu's suggestion, or just don't allow restarting if a game is running.
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.