python执行shell命令进程启动成功脚本未执行

清疚 2022-09-09 00:25 484阅读 0赞

进程启动成功,shell脚本未执行的代码如下,用了脚本的绝对路径启动,shell脚本未执行

  1. base_train_sh = "/home/dev/"
  2. start_sh = "a.sh"
  3. #这里传的是shell脚本的绝对路径,这样进程可以启动,shell脚本无法执行
  4. cmd = base_train_sh + start_sh + " aaa 20"
  5. log_warn(cmd)
  6. proc = subprocess.Popen([cmd], shell=True)
  7. pid = proc.pid
  8. log_warn("sh 启动后 pid=" + str(pid))
  9. proc.wait()
  10. log_warn('the status code is:' + str(proc.returncode))

进行调整后的代码,先进入至shell脚本所在目录,再执行shell脚本

  1. base_train_sh = "/home/dev/"
  2. start_sh = "a.sh"
  3. #这里调整为先进入至shell脚本所在目录,再执行shell脚本,顺利启动shell脚本
  4. cmd = "cd {0} && ./{1} {2} {3}".format(base_sh, start_sh, "aaa", "20")
  5. log_warn(cmd)
  6. proc = subprocess.Popen([cmd], shell=True)
  7. pid = proc.pid
  8. log_warn("sh 启动后 pid=" + str(pid))
  9. proc.wait()
  10. log_warn('the status code is:' + str(proc.returncode))

发表评论

表情:
评论列表 (有 0 条评论,484人围观)

还没有评论,来说两句吧...

相关阅读