分享

退出cmd.exe后用python启动的进程也退出了

grinsky 发表于 2016-10-26 18:13:02 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 4 10242
[mw_shl_code=python,true]start_flume_cmd_path = r"D:\puppet_flume\tier1\tier1_start.bat"
flume_config_dir = r"D:\puppet_flume\tier1"
flume_config_file = r"\tier1.conf"
start_flume_cmd = r'start /b ' + start_flume_cmd_path

def start_flume():
    x = os.system(start_flume_cmd)
    if x == 0:
        print "flume start ok "
    else:
        print "flume start failed"

start_flume()[/mw_shl_code]

上面是启动flume部分的代码。
在cmd.exe 下执行 python test.py ok。
在任务管理器中也有看到那个进程启动了。
但我一关闭cmd.exe的窗口,这个进程也就退出了。
在脚本中已经使用了start /b 让他后台运行了,怎么还会退出?
这个要怎么处理啊,请大家帮帮忙指点下我,谢谢!

已有(4)人评论

跳转到指定楼层
einhep 发表于 2016-10-26 19:04:27
因为test.py没有使用start /b
回复

使用道具 举报

grinsky 发表于 2016-10-27 10:31:53
那有什么办法让即使test.py 进程结束了或者被kill掉了,flume进程也还能继续执行呢?
回复

使用道具 举报

einhep 发表于 2016-10-27 13:58:13
grinsky 发表于 2016-10-27 10:31
那有什么办法让即使test.py 进程结束了或者被kill掉了,flume进程也还能继续执行呢?

test.py 也在后台执行即可

方法1:pythonw xxx.py

方法2:将.py改成.pyw (这个其实就是使用脚本解析程序pythonw.exe)

回复

使用道具 举报

grinsky 发表于 2016-11-9 10:20:29
einhep 发表于 2016-10-27 13:58
test.py 也在后台执行即可

方法1:pythonw xxx.py

谢谢哈,我试了下方法1,退出cmd.exe的黑窗后
python程序还在正常运行。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条