Найти - Пользователи
Полная версия: запуск subprocess из демонизорованного скрипта. Получаю зомби процесс.
Начало » Python для экспертов » запуск subprocess из демонизорованного скрипта. Получаю зомби процесс.
1
bezrukov Ilya
Приветсвую.

Подскажите что я делаю не так. Как запустить из демонизированного скрипта процесс запущенный 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>

JOHN_16
обратите внимание на аргументы Popen, в частности на close_fd. К тому же вы отдельно проверьте корректно ли работает вызов Popen, а то subprocess не такая простая штука, как хотелось бы.
bezrukov Ilya
Спасибо JOHN_16,

посмотрю вашу статью, без демонизации все работало(процесс запускался, лог читался, инфа в БД записывалась) - попробую по-экспериментировать с shell, close_fd и другими ключами.
bezrukov Ilya
Заработало при добавленом аргументе 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)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB