What's the easiest and safest(low data loss, no file locking issues) way to restart mongodb on a production system?
You haven't mentioned, but I'll assume you are running in a replica set and are mainly concerned about shutting down a primary. To do that in the safest way, first step it down from Primary:
Then you can just follow the regular shutdown process, depending on your preference:
Or, if you have installed it from a package, just use the init/upstart script to shut it down.
If you are not running in a replica set, then you should - the fire & forget nature of writes from apps (by default, but manageable if you wish) means that if your apps could just keep sending data into the abyss until your TCP connection errors out - that's lost data but it has nothing to do with how you shut down the DB.