Hello,

Maybe not as technical as your solution, but on a Windows machine for an art installation, i did a quick "watchdog" that checked a "stillalive" file, that was regularly modified by the pd patch. So when/if pd crashed, the file wasn't updated anymore and the script would restart it. I think it was done in python...

cheers

2018-05-03 11:56 GMT+02:00 Jack <jack@rybn.org>:
If you have several instances of Pd, it is also doable to do something
like :

pd -open yourpatch1.pd &
PID1=$!
pd -open yourpatch2.pd &
PID2=$!

while true
do
    if [ ! -d /proc/$PID1 ]
    then
        pd -open yourpatch1.pd &
        PID1=$!
    fi
    if [ ! -d /proc/$PID2 ]
    then
        pd -open yourpatch2.pd &
        PID2=$!
    fi
done


++

Jack



Le 03/05/2018 à 11:46, Jack a écrit :
> Hey list !
>
> Le 03/05/2018 à 09:42, Roman Haefeli a écrit :
>> On Thu, 2018-05-03 at 06:29 +0200, michael strohmann wrote:
>>> Hello,
>>> i wonder if it is possible to setup something on raspberry, so that
>>> the puredata-watchdog will restart pd-0.48.0 automatically?
>>> where could i look up the mechanics of this, unfortunatly i am not a
>>> unix crack…
>>
>> Are you referring to the pd-watchdog binary, that comes with puredata-
>> core? Is your Raspberry Pi running Raspbian?
>>
>> From what I understand, the purpose of the pd-watchdog is to pause Pd
>> in regular intervals when running in real-time mode. I think this is
>> measure to prevent Pd from locking up the system. Assume you
>> accidentally trigger an [until] without a stopping mechanism, thanks to
>>  pd-watchdog you're still able to move the mouse and quit Pd.
>>
>> Is your goal to make sure that Pd is running at any time, so that it is
>> started again as soon as it stops?  Maybe you can achieve something
>> like this wit a shell script. I haven't tested this, but it might give
>> you an idea how to make it work:
>>
>> ---
>> #!/bin/sh
>>
>> while true
>> do
>>   # We start pd and send detach it from the terminal ('&')
>>   /usr/bin/pd -open yourpatch &
>>
>>   # we catch pd's process id
>>   pdpid=$!
>>
>>   # now let's wait for the process to terminate
>>   wait $pdpid
>>   
>>   # once pd terminates, we start another iteration
>>   # of our while-loop
>> done
>
> I will do something like :
>
> while true
> do
>     pd -open yourpatch # if pd crash the script continue to "sleep 1"
> and a new loop start
>     sleep 1
> done
>
> ++
>
> Jack
>
>
>
>> ---
>>
>> Roman
>>
>>
>>
>> _______________________________________________
>> Pd-list@lists.iem.at mailing list
>> UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
>>
>
>
>
>
> _______________________________________________
> Pd-list@lists.iem.at mailing list
> UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
>



_______________________________________________
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list




--
Raphaël Ilias
  ___________________________________
     phae.fr
     17 places des Halles - Ingrandes
     49123 Ingrandes Le Fresne s/ Loire
     phae.ilias@gmail.com / +33 (0) 6 04 45 79 78
  ___________