#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import subprocess
np_mpi = "1"
s_port = "11111"
cmd = "/data/ParaView/bin/mpiexec" + " -np " + \
np_mpi + " /data/ParaView/bin/pvserver " + \
"--server-port=" + \
s_port + " -display " + " :0.0 " + \
" --force-offscreen-rendering "
subprocess.call(cmd, shell=True)
Мне нужно запустить этот подпроцесс, но я хочу, чтобы он запускался в фоновом режиме, а не убивал его, если основной процесс умирает. Как мне это сделать? Как это сделать без эха на терминале?
На данный момент это работает, но, не продолжайте, с остальной частью скрипта Python ...
... обновление ...
Я стараюсь
subprocess.Popen(['nohup', cmd],
stdout=open('/dev/null', 'w'),
stderr=open('log.log', 'a'),
preexec_fn=os.setpgrp
)
но файл журнала показывает
nohup: failed to run command ‘/data/ParaView/bin/mpiexec -np 1
/data/ParaView/bin/pvserver --server-port=11111 -display :0.0 --force-
offscreen-rendering ’: No such file or directory
и команда в порядке с
subprocess.call(cmd, shell=True)
Почему не работает nohup?