Выполните процесс и выход, не ожидая его

SWFAddress работает в Flash & проекты JavaScript и позволяют Вам создать bookmarkable URL (использующий упомянутый выше метод хеша), а также дающий Вам поддержка кнопки "Назад".

http://www.asual.com/swfaddress/

9
задан Tomas Sedovic 11 November 2009 в 13:50
поделиться

3 ответа

Используйте модуль subprocess в качестве других методов управления подпроцессами (os.system, os.spawn *, os.popen *, popen2. , команд. ]) устарели:

from subprocess import Popen
Popen( [ "foo.exe", "arg1", "arg2", "arg3" )

См. документ Python , особенно пример P_NOWAIT .

Вам нужно будет запустить новый интерпретатор Python в подпроцессе, поэтому "foo.exe" выше скорее всего будет "python.exe".

РЕДАКТИРОВАТЬ:

Только что ознакомившись с документацией по многопроцессорному модулю:

join_thread () : Присоединяйтесь к фону нить. Это можно использовать только после close () был вызван. Блокирует пока не завершится фоновый поток, гарантируя, что все данные в буфере был сброшен в трубу.

По умолчанию, если процесс не создатель очереди, затем при выходе из нее попытается присоединиться к очереди фоновый поток. Процесс может вызовите cancel_join_thread () , чтобы join_thread () ничего не делать.

cancel_join_thread () : запретить join_thread () от блокировки. В в частности, это предотвращает фоновый поток от присоединения автоматически при выходе из процесса - см. join_thread () .

Похоже, у вас должна быть возможность вызвать cancel_join_thread () , чтобы получить желаемое поведение. Я никогда не использовал этот метод (и не знал о его существовании всего минуту назад!), Поэтому обязательно сообщите нам, работает ли он для вас.

4
ответ дан 3 November 2019 в 07:13
поделиться

Под Linux вы можете форк , но это не будет работать в Windows. Я думаю, что самый простой способ - запустить новый процесс Python, поместив ваши count_sheeps в отдельный файл и Popen ('python count_sheeps.py')

1
ответ дан 3 November 2019 в 07:13
поделиться

Вы всегда можете запустить новый поток и вызвать myNewThread.daemon (True) перед вызовом его метода start ().

Этот поток продолжит работу после выхода из основного процесса.

-2
ответ дан 3 November 2019 в 07:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: