Si se trata de secuencias de comandos de bash, algo como esto funcionaría:
if [ ! -f "$FILENAME" ]; then
python daemon.py restart
fi
Una mejor opción puede ser buscar en el archivo de bloqueo
test -f filename && daemon.py restart || echo "File doesn't exists"
[ -f /tmp/filename.pid ] || python daemon.py restart
-f comprueba si la ruta dada existe y es un archivo normal (solo -e comprueba si existe la ruta)
el [] realiza la prueba y devuelve 0 en caso de éxito, 1 de lo contrario
el || es un tipo C or , así que si falla el comando de la izquierda, ejecute el comando de la derecha.
Así que la declaración final dice, si /tmp/filename.pid NO existe, inicie el demonio.