code: def acquire_for(pid_dir, num_available=1, kill_signal=None):
      
  
      my_pid, my_cmd, pid_file = get_info(pid_dir)
  
      # Create a pid file if it does not exist
      try:
          os.mkdir(pid_dir)
          os.chmod(pid_dir, 0o777)
      except OSError as exc:
          if exc.errno != errno.EEXIST:
              raise
          pass
  
      # Let variable "pids" be all pids who exist in the .pid-file who are still
      # about running the same command.
      pids = {pid for pid in _read_pids_file(pid_file) if getpcmd(pid) == my_cmd}
  
      if kill_signal is not None:
          for pid in pids:
              os.kill(pid, kill_signal)
          print('Sent kill signal to Pids: {}'.format(pids))
          # We allow for the killer to progress, yet we don't want these to stack
          # up! So we only allow it once.
          num_available += 1
  
      if len(pids) >= num_available:
          # We are already running under a different pid
          print('Pid(s) {} already running'.format(pids))
          if kill_signal is not None:
              print('Note: There have (probably) been 1 other "--take-lock"'
                    ' process which continued to run! Probably no need to run'
                    ' this one as well.')
          return False
  
      _write_pids_file(pid_file, pids | {my_pid})
  
      return True
docs: Makes sure the process is only run once at the same time with the same name.
  
      Notice that we since we check the process name, different parameters to the same
      command can spawn multiple processes at the same time, i.e. running
      "/usr/bin/my_process" does not prevent anyone from launching
      "/usr/bin/my_process --foo bar".