进程启动成功,shell脚本未执行的代码如下,用了脚本的绝对路径启动,shell脚本未执行
base_train_sh = "/home/dev/"
start_sh = "a.sh"
#这里传的是shell脚本的绝对路径,这样进程可以启动,shell脚本无法执行
cmd = base_train_sh + start_sh + " aaa 20"
log_warn(cmd)
proc = subprocess.Popen([cmd], shell=True)
pid = proc.pid
log_warn("sh 启动后 pid=" + str(pid))
proc.wait()
log_warn('the status code is:' + str(proc.returncode))
进行调整后的代码,先进入至shell脚本所在目录,再执行shell脚本
base_train_sh = "/home/dev/"
start_sh = "a.sh"
#这里调整为先进入至shell脚本所在目录,再执行shell脚本,顺利启动shell脚本
cmd = "cd {0} && ./{1} {2} {3}".format(base_sh, start_sh, "aaa", "20")
log_warn(cmd)
proc = subprocess.Popen([cmd], shell=True)
pid = proc.pid
log_warn("sh 启动后 pid=" + str(pid))
proc.wait()
log_warn('the status code is:' + str(proc.returncode))