Форум сайта python.su
Приветсвую.
Подскажите что я делаю не так. Как запустить из демонизированного скрипта процесс запущенный subprocess.
демонизирую процесс по рецепту http://www.jejik.com/articles/2007/02/a_simple_unix_linux_daemon_in_python/
в метод run() добавил вызов долгоживущего процесс (wget)
def run(self):
…….
self.proc = subprocess.Popen()
…….
Вывод ps ux| grep wget
5416 … python run_wget.py
5417 … <defunct>
Офлайн
обратите внимание на аргументы Popen, в частности на close_fd. К тому же вы отдельно проверьте корректно ли работает вызов Popen, а то subprocess не такая простая штука, как хотелось бы.
Офлайн
Спасибо JOHN_16,
посмотрю вашу статью, без демонизации все работало(процесс запускался, лог читался, инфа в БД записывалась) - попробую по-экспериментировать с shell, close_fd и другими ключами.
Офлайн
Заработало при добавленом аргументе cwd='path/to/', больше ни чего не добавлял. Надеюсь дальше эксцессов не встретится)
self.proc = subprocess.Popen(["wget", "-c", "-o%s"%self.wget_log , "--limit-rate=50M", "ftp://%s/%s"%(self.obs_ip, os.path.join(self.path, self.session_name, self.scan_name))], cwd="/tmp", stdout=subprocess.PIPE, stderr=subprocess.PIPE)
Отредактировано bezrukov Ilya (Май 8, 2013 15:15:38)
Офлайн