I'm trying to learn about C++11's
No, those are meant to synchronize threads within one process, not processes.
Interprocess communication is implemented by using shared files. An interprocess mutex or shared memory is just a file (created in your temp folder for instance) to exchange information (data, locks) between two processes.
boost::interprocess offers an nice implementation of that (it does not require any link, code is compiled on the fly, you just need to include it).