참고: Python에서 라이브러리를 사용하는 경우 서비스가 루트 디렉터리에서 실행되며 루트 디렉터리에 라이브러리를 설치해야 한다는 점을 알아 두십시오.

참고: Python에서 라이브러리를 사용하는 경우 서비스가 루트 디렉터리에서 실행되며 루트 디렉터리에 라이브러리를 설치해야 한다는 점을 알아 두십시오.

저는 최근 GAE 애플리케이션을 원격으로 테스트할 수 있도록 FreeBSD 홈 서버에 Google App Engine 개발 서버를 설치했습니다. 내가 이해하지 못하는 것은 시작 시 Python 개발 서버를 백그라운드 프로세스로 실행하는 방법입니다.

나는 감옥에서 모든 것을 관리합니다. 따라서 현재 개발 서버를 시작하려면 서버에 로그인하고 감옥을 열고 Python 스크립트를 수동으로 실행해야 합니다. 최악의 부분은 노트북이 감옥과의 연결이 끊어지면 Python 프로세스가 중지되기 때문에 연결을 유지해야 한다는 것입니다. 백그라운드 프로세스/데몬으로 실행하는 방법을 찾을 수 없습니다.

해결책(rc.d와 같은 것을 전혀 얻지 못했습니다)을 검색하면서 명령을 실행하는 .sh 스크립트를 만들었지만 Stratup에서 실행할 방법을 찾지 못했습니다.

전체 명령은 다음과 같습니다. python dev_appserver.py --host=0.0.0.0 --port=2222 /mnt/path/to/gae_app/

답변1

이것이 제가 Linux에서 한 일입니다. 도움이 되길 바랍니다.

1단계: 서비스 생성 sudo vi /lib/systemd/system/NameofYourService.service

2단계: 이 줄을 추가하고 텍스트의 위치를 ​​편집합니다.

[Unit]
Description=Example python App running on Ubuntu

[Service]
WorkingDirectory=/home/app
ExecStart=/usr/bin/python3 /home/app/app.py
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=Nameofyourapp

[Install]
WantedBy=multi-user.target

3단계: 서비스 활성화 및 시작

sudo systemctl enable NameofYourService.service
sudo systemctl start NameofYourService.service

장애인용

sudo systemctl stop NameofYourService.service
sudo systemctl disable NameofYourService.service

로그용

sudo journalctl -fu NameofYourService.service

참고: Python에서 라이브러리를 사용하는 경우 서비스가 루트 디렉터리에서 실행되며 루트 디렉터리에 라이브러리를 설치해야 한다는 점을 알아 두십시오.

답변2

스크립트를 데몬으로 실행하려면 다음을 참조하세요.여기

freebsd에서 부팅하려면 공식 문서를 참조하세요. 로거()(8)

답변3

크론 작업을 사용할 수 있습니다

1 단계– Python 스크립트 경로

/home/app/app.py

2 단계- cron을 열려면 이 명령을 사용하십시오.

 sudo crontab -e

주로 나노스크롤과 같은 편집기를 선택하고 마지막으로 수행합니다.

3단계- 이 줄을 추가하세요

@reboot python /home/app/app.py

4단계- Nano 텍스트 편집기를 사용하는 경우 Ctrl+x를 눌러 종료하세요.

관련 정보