Getting FEniCS to communicate with gmsh

I need to call gmsh from my python script. I am using gmsh 4.4.1, Python 2.7.18.
I haven’t tried this before. So decided to go through some old posts regarding this. But since I am not familiar with this, having some issue understanding some of the things in those posts.

For example, in the post

https://fenicsproject.discourse.group/t/adaptive-remeshing-with-mmg-and-xmdf-msh-conversion/3832

what are the functions of the following lines of codes?

fname = "plate"
subprocess.call(["gmsh", fname+".geo", "-2", "-format", "msh2"])
subprocess.call(["meshio-convert", fname+".msh", fname+".xdmf", "-p", "-z"])

More specifically, what do “-2”, “-format”, “msh2”, “-p” and “-z” mean and what they do?

Also what does “subprocess.call” do?

These questions are unrelated to FEniCS. It’s pretty straightforward to look up the documentation for these other libraries and inbuilt python functions with a quick web search. E.g. subprocess.call.