Как запустить эту функцию в отдельном процессе в Windows?

#python

#python

Вопрос:

Я пытаюсь запустить этот код в фоновом режиме (из командной строки) в Windows, используя python 2.7:

 import httpimport

mod = httpimport.load('module name','URL')
  

Все работает, но процесс затягивается при запуске, и только ctrl c завершает его. Я хочу запустить независимый процесс из этого в фоновом режиме.

Я читал, что многопроцессорность может оказаться полезной здесь, но мне понадобились бы некоторые указания, если можно. Есть предложения?

РЕДАКТИРОВАТЬ: я могу добавить, что это скрипт, который вызывает другой скрипт python из URL. Из приведенных ниже ответов я понял, что сначала мне может потребоваться изменить мой удаленный скрипт.

Ответ №1:

если вы хотите запустить свой процесс в фоновом режиме, вы можете использовать spawnl

 import os
os.spawnl(os.P_DETACH, 'python code.py "module name" "url"')
  

но вам нужно быть осторожным, вы не сможете остановить процесс, если не знаете его pid или не проверяете, где он запущен через диспетчер задач

проверьте подробнее: https://docs.python.org/2/library/os.html#os.spawnl

для вашего кода (например code.py ):

 import httpimport
from sys import argv
name, module_name, URL = argv # here you get the module name and URL from the argument given from before
mod = httpimport.load(module_name , URL)
  

Комментарии:

1. Я в курсе этого , но как бы вы включили мой код в свое предложение ?

2. Я уже пробовал это, та же ситуация. Возможно, мне потребуется внести изменения в мой удаленный скрипт в соответствии с этим, попробую. Спасибо за ваш вклад.

3. Хорошо, я тоже попробовал ваш измененный код. Ничего не происходит, когда я выполняю один из них с os.spawnl.