2017-11-06 1 views
0

여기 파이썬 코드입니다. python 1.py 명령 만 사용하여 데몬으로 응용 프로그램을 시작하려면 어떻게해야합니까?백그라운드 서비스로 파이썬 서비스 실행

import eventlet 
from eventlet import wsgi 



def hello_world(env, start_response): 
    if env['PATH_INFO'] != '/': 
     start_response('404 Not Found', [('Content-Type', 'text/plain')]) 
     return ['Not Found\r\n'] 
    start_response('200 OK', [('Content-Type', 'text/plain')]) 
    return ['Hello, World!\r\n'] 

wsgi.server(eventlet.listen(('', 8090)), hello_world) 
+0

이것은 파이썬 문제가 아니므로 OS가 프로세스를 시작하는 책임이 있습니다. 어떤 OS를 사용하고 있습니까? – Arne

+0

Centos,하지만 난 machine.when의 시작시 이것을 원하지 않는다. 나는이 프로그램을 백그라운드 프로세스로 시작해야한다. – rohit

+2

귀하의 요구에 맞는 cronjob겠습니까? 여기에 _Info가 표시됩니다. [여기] (https://www.centos.org/docs/5/html/Deployment_Guide-en-US/ch-autotasks.html) _. 개인적인 경험으로 cron 작업에서 파이썬 스크립트를 실행하는 것이 고통 스러울 수 있음을 안다. 한 가지 방법은 python 스크립트를 호출하여 파일의 전체 경로를 나타내는 bash 스크립트를 작성하는 것입니다. –

답변

0

CentOS에서 프로세스를 시작하는 방법에는 여러 가지가 있으며 원하는 방식으로 문제를 해결할 수있는 방법을 선택하십시오.

  1. 터미널을 열고는, python 1.py를 실행하고 아래로
  2. 컴퓨터를 종료 터미널을 열고, nohup python 1.py &를 실행하고 터미널을 닫을 때까지 잊어 버려요. Nohup은 세션이 끝났음에도 불구하고 프로그램을 계속 유지합니다. 당신이 그것을 죽일해야하는 경우 deamon 기능에 설명서를 읽고
  3. 을가
  4. 내가 있는지가 더 많은하여 스크립트를 호출 ps -ax와 프로세스 목록에서 그것을 찾아 kill <process_id>
  5. 으로 죽일 필요
0

관리자는 장기 실행 백그라운드 프로세스를 관리하는 데 유용한 유틸리티입니다.

sudo를 시작 supervisorctl와 등

그런 다음 서비스를 시작할 수 있습니다, 당신은 위치를 기록, 그것을 실행해야 사용자가 실행할 명령을 지정하는 구성 파일을 작성, supervisor을 설치 {{이름} } 비슷한 명령으로 필요에 따라 중지하십시오.