support -b to force running in background