@Sweedland: Måste du starta om apache också när ditt program kraschar?
Annars kan du egentligen bara köra en until loop.
Att ligga och kolla i en while loop känns oerhört ineffektivt och slöseri med resurser.
until myserver; do
echo "Server 'myserver' crashed with exit code $?. Respawning.." >&2
sleep 1
done
http://stackoverflow.com/questions/696839/how-do-i-write-a-ba...
edit:
Vet inte om det är korrekt syntax, men något i den stilen borde fungera
until ./read_can; do
echo "startar om server och program!"
sudo service restart apache2
sudo ./read_can
done