Based on the Ruby documentation, both backticks and system()
have the same blocking behavior (that is, they are both blocking calls).
When I use them to execute a call to xdg-open
though (which in itself, forks the system process, for example libreoffice
and exits), backticks blocks while the system process is executing, while system()
blocks only during the system process invocation.
This is a trivial example:
`xdg-open myspreadsheet.ods` # will block until exiting libreoffice
system 'xdg-open myspreadsheet.ods' # will block until libreoffice is invoked