monitor(const child& c) : m_id(c.handle()) {}
child(const child& c) : m_h(INVALID_HANDLE_VALUE) { DuplicateHandle(GetCurrentProcess(), c.handle(), GetCurrentProcess(), &m_h, DWORD(0), false, DUPLICATE_SAME_ACCESS); }