chill wrote:
> That's useful. So starting and stopping squeezelite should be
> straightforward within the script (stopping is obviously done within the
> 'stop' section, and starting is done within the while loop in the
> SQLITErestart() function at the top). The only tricky thing will be the
> 'condition' for continuing that loop.
>
> Currently that 'while' condition is:
> >
Code:
--------------------
> > while [ "$(sudo /usr/local/etc/init.d/squeezelite status)" ==
"Squeezelite not running." ]; do
--------------------
> >
>
> In your case I think you'll have to do something with grep and/or awk
> to look for "active (running)" within the response to the status
> request. Or maybe the status request returns a true/false result that
> you could test instead.
Yes I did also notice this. I changed the while loop so it would use
wildcards:
Code:
--------------------
while [ "$(dietpi-services status squeezelite)" == *"inactive (dead)"* ]; do
--------------------
Retrieving the PID is obviously not going to work, because the status
message doesn't contain the PID. So I changed it into this:
Code:
--------------------
# determine cardname from squeezelite process id
local PID=$(ps ax | pgrep squeezelite)
local cardname=$(ps | grep $PID | awk -F CARD= {'print $2'} | awk -F ,
{'print $1'})
--------------------
I might also need to change the command to get the card name, but I
don't have time right now to test it
------------------------------------------------------------------------
4]4's Profile: http://forums.slimdevices.com/member.php?userid=71351
View this thread: http://forums.slimdevices.com/showthread.php?t=113661
_______________________________________________
unix mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/unix