Como prática geral, criar um arquivo e esperar que o sistema operacional não o destrua caso exista não é uma boa maneira de testar se ele existe.
Você estaria melhor servido com:
if [ -f $lockfile ]; then
exit_normally "instance is running"
else
echo "no instance is running"
fi
No entanto, se você está tentando usar a existência de um arquivo como um arquivo de travamento, provavelmente seria melhor usar o comando unix lockfile:
lockfile -r 0 $lockfile
if [ $? -ne 0 ]; then
exit_normally "instance is running"
else
echo "no instance is running"
fi