우분투 서버에서 프로세스를 무기한 실행하는 방법

우분투 서버에서 프로세스를 무기한 실행하는 방법

Linux를 처음 접한 저는 이것을 screen백그라운드 프로세스를 계속 실행하는 데 사용합니다.
예를 들어, Flask REST API가 있고 다음을 사용하여 해당 구성 파일을 실행합니다.

uwsgi --ini path_to_file/file.ini

이러한 API와 해당 conf 파일이 여러 개 있으므로 screen하나의 API를 제외하고 모두 몇 달 동안 계속 실행되었습니다. 이 모든 것은 거의 동일한 데이터베이스에 액세스하는 것과 같습니다.
이 특정 API에 대한 conf 파일은 매일 다시 시작해야 합니다.
.ini 파일 실행을 처리하는 올바른 방법이 있습니까?

Ubuntu 16 및 Flask Restful 사용

답변1

@Panki가 그의 기사에서 지적했듯이논평, 대신 서비스를 만드는 것이 좋습니다.

그러나 이를 방지하려면 모든 논리(예: 특정 API 구성을 다시 시작)가 포함된 셸 스크립트를 작성하세요. 그런 다음 여기에 하루 간격으로 cronjob을 설정합니다. 하루 간격으로 cronjob을 설정하려면 crontab을 열고 다음 줄을 추가하세요.

30 14 * * * /path/to/your/shell/script

매일 오후 2시 30분에 스크립트가 실행됩니다. cronjob 설정에 대한 자세한 내용은 SO에 대한 이 답변을 참조하세요.https://stackoverflow.com/a/35575322/1944896

답변2

사용 nohup:

nohup uwsgi --ini path_to_file/file.ini

또는

명령으로 스크립트를 작성하고 실행하십시오.nohup

nohup script.sh &

이렇게 하면 터미널을 닫은 후에도 프로그램이 계속 실행됩니다.

보다:https://www.maketecheasier.com/nohup-and-uses/

관련 정보