Автор Гілка: python os.chroot  (Прочитано 5290 раз)

niii

  • Гість
python os.chroot
« : 2007-03-21 18:09:35 »
в скрипті пітона роблю chroot , але потрібно вернутися у зовнішне середовище
як це зробити ?

Відсутній L0n3r4ng3r

  • Новачок
  • *
  • дописів: 3
  • Карма: +0/-0
  • I Love YaBB 2!
Re: python os.chroot
« Відповідей #1 : 2007-04-02 17:00:12 »
нiяк:(

niii

  • Гість
Re: python os.chroot
« Відповідей #2 : 2007-04-10 12:11:10 »
Знайшов вирішення проблеми так:
Розбиваю скрипт на 2 скрипта і в другому створюю підпрочес материньскому процесу:
pid = os.fork();
      if pid == 0 :
            if os.chroot(target):
                  print "can not chroot ...";
                  exit;
                ..........................
            sys.exit()._exit(0);

Але виникає друга проблема:
Материньский процес закінчує виконання не чікаючи закінчення дочірнього процесу.
Як зробити так щоб материньскій процес чекав закінчення дочірнього прочесу ?

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3820
  • Карма: +11/-0
  • Програміст
Re: python os.chroot
« Відповідей #3 : 2007-04-10 13:12:42 »
http://docs.python.org/lib/os-process.html

os.wait() або os.waitpid(pid,0)

[Fedora Linux]

Відсутній Cthulhu

  • Кореспондент
  • ***
  • дописів: 183
  • Карма: +0/-0
Re: python os.chroot
« Відповідей #4 : 2007-04-10 13:29:03 »
Увага, увага, увага! Тільки сьогодні і тільки на LOU! Феєрична вистава з niii у головній ролі "Сhroot Redemption"! Поспішайте, кількість квитків обмежена.

niii

  • Гість
Re: python os.chroot
« Відповідей #5 : 2007-04-10 14:13:57 »
http://docs.python.org/lib/os-process.html

os.wait() або os.waitpid(pid,0)


Дякую за відповідь.
Розібрався.

Увага, увага, увага! Тільки сьогодні і тільки на LOU! Феєрична вистава з niii у головній ролі "Сhroot Redemption"! Поспішайте, кількість квитків обмежена.

Не розумію вашого "феєричного" гумору !!!

Відсутній Cthulhu

  • Кореспондент
  • ***
  • дописів: 183
  • Карма: +0/-0
Re: python os.chroot
« Відповідей #6 : 2007-04-10 14:29:50 »
Не розумію вашого "феєричного" гумору !!!
Радий, що ви оцінили ;D

Я оце ваше питання був пропустив, а зараз звернув увагу... Мене злегка шокувала постановка питання - якби з chroot-a можна було так просто виходити, це була б гра-а-а-андіозна дірка з купою чудових варіантів деструктивного застосування))

Щодо вашого рецепту - я б використав модуль threading. Форк в пітоні це imho трохи того... особисто я таких  речей уникаю.


ЗІ А правда, навіщо воно вам?
« Змінено: 2007-04-10 14:46:43 від Cthulhu »

niii

  • Гість
Re: python os.chroot
« Відповідей #7 : 2007-04-10 15:10:01 »
ЗІ А правда, навіщо воно вам?

Пушу інсталяційний скрипт
« Змінено: 2007-04-10 15:10:47 від niii »

Відсутній BM

  • Кореспондент
  • ***
  • дописів: 162
  • Карма: +0/-0
  • SUSE Linux Products GmbH
Re: python os.chroot
« Відповідей #8 : 2007-11-08 14:53:44 »
Форк в пітоні це imho трохи того...
Huh?

Відсутній Cthulhu

  • Кореспондент
  • ***
  • дописів: 183
  • Карма: +0/-0
Re: python os.chroot
« Відповідей #9 : 2007-11-08 15:35:10 »
Форк в пітоні це imho трохи того...
Huh?
use threading

Відсутній BM

  • Кореспондент
  • ***
  • дописів: 162
  • Карма: +0/-0
  • SUSE Linux Products GmbH
Re: python os.chroot
« Відповідей #10 : 2007-11-09 05:45:32 »

Відсутній rangel

  • Графоман
  • ****
  • дописів: 281
  • Карма: +0/-0
  • Python programmer
Re: python os.chroot
« Відповідей #11 : 2007-11-10 12:37:37 »
Roman Suprotkin

Відсутній BM

  • Кореспондент
  • ***
  • дописів: 162
  • Карма: +0/-0
  • SUSE Linux Products GmbH
Re: python os.chroot
« Відповідей #12 : 2007-11-10 15:33:18 »
Цитата
flood?
Та нє, просто все має своє призначення. А якщо тільки одними тредами користуватись, то дуже сильно вилізе боком GIL та інші немалі проблеми, пов'язані з ними. Тому я дуже часто користуюсь й тредами, й форками одночасно.

А біда в тому, що від GIL не відхрестишся вже. Навіть в Python 3000 він буде. GIL робить написання модулів на C++ дуже простим, але зате ось відбивається на інших аспектах негативно, особливно на мультиядерних/мультипроцесорних машинах.

Останнім-же часом мені все більше й більше подобаються власне форки, якщо код планується запускатись тільки на Unix-like машинах. З ними складніше, але маючи всякі бібліотечки щоби форки розмовляли між собою та обмінювались об'єктами — виходить дуже класно.

« Змінено: 2007-11-10 15:36:21 від BM »