code: def renew_voms_proxy(passwd="", vo=None, lifetime="196:00"):
      
      with tmp_file() as (_, tmp):
          with open(tmp, "w") as f:
              f.write(passwd)
  
          cmd = "cat '{}' | voms-proxy-init --valid '{}'".format(tmp, lifetime)
          if vo:
              cmd += " -voms '{}'".format(vo)
          code, out, _ = interruptable_popen(cmd, shell=True, executable="/bin/bash",
              stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
          if code != 0:
              raise Exception("proxy renewal failed: {}".format(out))
docs: Renews the voms proxy using a password *passwd*, an optional virtual organization name *vo*, and
      a default *lifetime* of 8 days. The password is written to a temporary file first and piped into
      the renewal commad to ensure it is not visible in the process list.