【发布时间】:2017-03-05 12:21:44
【问题描述】:
我有以下简化脚本:
Pythontest.py:
import subprocess, os
def run_background_process(script_name):
with open(os.devnull, 'w') as FNULL:
background_process = subprocess.Popen(['nohup', '{}'.format(script_name)], stdout=FNULL
, stderr=FNULL
, stdin=FNULL)
return background_process
while True:
run_background_process('test.sh')
time.sleep(500)
Bash shell 脚本test.sh:
#!/bin/bash
n=1
echo ${n}
sleep 30
而ps -ef 结果是:
15536 16555 0 14:18 test.py
15541 15536 0 14:18 test.sh
所以我的问题是,为什么test.sh 没有与test.py 分离,它仍然是test.py 的孩子?
【问题讨论】:
标签: python linux bash shell subprocess