Как избежать несуществующих процессов с Python - PullRequest
0 голосов
/ 29 ноября 2018

Я пишу веб-сервисы (WebServer.py) с бутылкой, поскольку задача может занять много времени, поэтому я пишу другой файл Python для выполнения задачи и обновления результата.Webservice может выполнить файл python, когда он получает запрос и сразу же возвращает успех, даже если скрипт python запущен.Webservice и python file работают, но иногда оставляют несуществующий процесс.Как избежать исчезнувшего процесса?

13917 ?        Ss     0:00  \_ sshd: www [priv]
13920 ?        S      0:00      \_ sshd: www@pts/1
13923 pts/1    Ss     0:00          \_ -bash
 9170 pts/1    S      0:00              \_ sudo su
 9172 pts/1    S      0:00                  \_ su
 9173 pts/1    S      0:01                      \_ bash
13810 pts/1    S+     0:00                          \_ python  cripts/WebServer.py
13821 pts/1    S+     0:00                              \_ python WebServer.py
22249 pts/1    Z+     0:03                              |   \_ [python] <defunct>



`@route("/Check", method="POST")
def check():
    json_data = request.json
    start_time = json_data["time"]
    task_id = json_data["id"]
    cmd = os.path.join(file_path, "Check.py")
    subprocess.Popen(cmd, stdin=None, stdout=open(log_file, 'wb'), stderr=open(err_file, 'wb'), shell=True)`
...