code: def background_command(command, require_zero_status=False):
      """Executes a command in a separate thread, like running with '&' in the shell.
      If you want the program to die if the command eventually returns with
      nonzero status, then set require_zero_status to True.  'command' will be
      executed in 'shell' mode, so it's OK for it to contain pipes and other
      shell constructs.
  
      This function returns the Thread object created, just in case you want
      to wait for that specific command to finish.  For example, you could do:
            thread = background_command('foo | bar')
            # do something else while waiting for it to finish
            thread.join()
  
      See also:
        - wait_for_background_commands(), which can be used
          at the end of the program to wait for all these commands to terminate.
        - execute_command() and get_command_stdout(), which allow you to
          execute commands in the foreground.
  
      """
  
      p = subprocess.Popen(command, shell=True)
      thread = threading.Thread(
          target=background_command_waiter,
          args=(command, p, require_zero_status),
      )
      thread.daemon = (
          True  # make sure it exits if main thread is terminated
      )
      # abnormally.
      thread.start()
      return thread
  
imports: from __future__ import print_function
  from __future__ import division
  import argparse
  import logging
  import math
  import os
  import subprocess
  import sys
  import threading
label_desc: Use image node_id 7 for calling a global function with example usage: background_command(command, require_zero_status) and returns: thread