Linux에서 Python 프로그램을 백그라운드로 실행하는 방법

3181 단어 Linux 시스템
문제 설명:
서버에 연결된 후 서버에서 시간이 많이 걸리는 프로그램을 실행하려면문제는 일단 회화가 끝나면 프로그램도 끝납니다. 그 전에 작업 진도를 완성하면 모든 공을 다 잃게 됩니다!!!
솔루션: nohup 명령을 사용하여 서비스를 중단합니다.시작 명령은 다음과 같습니다.
nohup python3 -u Job.py > Job_out.out 2>&1 &

일반적인 예:
예를 들어 백그라운드 실행 mytest.py 스크립트 프로그램을 원합니다.
1. 시작 명령:
[root@localhost test]# nohup python3 -u mytest.py > mytest_out.out 2>&1 &
[4] 22246   #      

설명:
  • “&”: 백그라운드 실행 프로그램
  • 을 나타냅니다.
  • "nohup: 보증 프로그램이 중단되지 않음
  • "python3":python 코드를 실행하는 명령입니다 (여기 지정된 Python 버전은 Python3)
  • "-u": 캐시를 금지하고 결과를 로그 파일 mytest 에 직접 들어갈 수 있도록 하기 위해서입니다out.out (-u를 추가하지 않으면 로그 파일이 코드의 print 함수에 대한 정보를 실시간으로 갱신하지 않습니다)
  • "Job.py": 실행하려는python의 원본 코드 파일입니다. 이것은 mytest입니다.py
  • "Job_out.out: 출력 로그 파일
  • 입니다.
  • ">: 인쇄 정보를 로그 파일에 지정하는 것을 말합니다
  • .
  • "2>&1": 표준 오류 출력을 표준 출력으로 바꾸면 오류 정보도 로그 파일에 출력할 수 있다(0->stdin, 1->stdout, 2->stderr)
  • 2. 스크립트가 백그라운드에서 실행되었는지 확인합니다.
    (1) 다음과 같이 jobs 명령을 사용합니다.
    [root@localhost test]# jobs
    [4]+  Running                 nohup python3 -u mytest.py > mytest_out.out 2>&1 &
    

    (2) ps -ef|grep python 또는 ps -ef|grep Job 명령을 사용하여 프로세스를 확인합니다.
    # ps -ef|grep python
    
      
    
    # ps -ef|grep Job
    

    (3) ps aux 명령을 사용하여 프로그램의 프로세스 번호를 확인합니다.
    [root@localhost test]# ps aux
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    …… 
    root     22246  0.0  0.3 125572  6304 pts/0    S    17:29   0:00 python3 -u mytest.py
    ……
    

    3. 프로세스 닫기: kill -9 명령을 사용하여 지정한 프로세스 번호의 프로그램을 닫습니다.
    [root@localhost test]# kill -9 22246
    

    참고: 2(2)에서 프로세스를 보는 명령을 사용하여 프로세스가 실제로 닫혔는지 확인하거나 확인합니다.
    참조 링크: Linux 백그라운드에서 Python 프로그램 실행

    좋은 웹페이지 즐겨찾기