[ ! -L $lock_file -o ! $(kill -0 $(readlink $lock_file)) ]
[ を実行する前に $(kill hoge) が展開(実行)されます。
readlink → kill → [ の順に実行される。