Golang은 특히 네트워크 프로그래밍과 동시 프로그래밍 분야에서 매우 인기 있는 프로그래밍 언어입니다. 하지만 Golang을 사용하여 프로그램을 개발할 때 터미널을 닫은 후 프로그램을 닫는 문제가 발생할 수 있습니다. 이 기사에서는 프로그램 실행에 영향을 주지 않고 Golang에서 터미널을 닫는 방법을 소개합니다.
Linux 또는 Unix 시스템에서는 Golang 프로그램을 백그라운드에서 실행할 수 있으므로 터미널을 닫은 후에도 프로그램이 계속 실행됩니다. 구현 방법은 다음과 같습니다.
nohup 명령을 사용하여 프로그램을 백그라운드에 넣습니다.
$ nohup ./myprogram &
그중 myprogram은 백그라운드에서 실행하려는 프로그램입니다.
open-falcon-supervisor는 프로세스를 모니터링, 관리 및 다시 시작할 수 있는 오픈 소스 Golang 프로세스 관리 도구입니다. open-falcon-supervisor를 사용하면 터미널을 닫은 후에도 프로그램 실행이 중지되지 않는 효과를 얻을 수 있습니다. 구체적인 사용법은 다음과 같습니다.
open-falcon-supervisor를 설치하려면 터미널에 다음 명령을 입력하세요.
$ curl -Ls http://7xjci3.com1.z0.glb.clouddn.com/tools/supervisor/install.sh | sh
supervisord 생성 /etc.conf 파일 아래에 다음 내용을 추가합니다:
[program:myprogram] command=/path/to/myprogram #程序路径 autostart=true autorestart=true startretries=10 redirect_stderr=true stdout_logfile=/path/to/myprogram.log #日志路径
여기서 myprogram은 실행하려는 프로그램의 이름이고 /path/to/myprogram은 프로그램의 경로이며 /path/ to/myprogram.log는 프로그램 로그 파일의 경로입니다.
감독자를 시작하려면 터미널에 다음 명령을 입력하세요.
$ supervisord
이렇게 하면 open-falcon-supervisor가 관리하는 프로그램이 백그라운드에서 실행되며 종료 후에도 프로그램이 계속 실행됩니다. 터미널.
systemd는 프로세스를 모니터링, 관리 및 다시 시작할 수 있는 Linux의 시스템 및 서비스 관리자입니다. systemd 관리 프로그램을 사용하면 터미널을 닫은 후에도 프로그램 실행이 중지되지 않는 효과를 얻을 수 있습니다. 구체적인 사용법은 다음과 같습니다.
/etc/systemd/system 디렉토리에 myprogram.service 파일을 생성하고 그 안에 다음 내용을 추가합니다.
[Unit] Description=My Program Service After=network.target [Service] Type=simple ExecStart=/path/to/myprogram #程序路径 Restart=on-failure [Install] WantedBy=multi-user.target
그 중 myprogram은 실행하려는 프로그램 이름, /path/to/myprogram은 프로그램의 경로입니다.
서비스를 시작하려면 터미널에 다음 명령을 입력하세요.
$ systemctl start myprogram
이렇게 하면 systemd에서 관리하는 프로그램이 백그라운드에서 실행되며, 터미널을 닫은 후에도 프로그램이 계속 실행됩니다. .
스크린 명령은 Linux에서 세션 관리 도구로, 여러 세션을 생성하고 세션 간 전환이 가능하며, 세션에서 프로그램을 실행하고 프로그램을 백그라운드로 전환할 수도 있습니다. 터미널을 닫은 후 프로그램이 중지되는 것을 방지하려면 screen 명령을 사용하십시오. 구체적인 사용법은 다음과 같습니다.
설치 화면을 만들려면 터미널에 다음 명령을 입력하세요.
$ sudo apt-get install screen
새 화면을 만들려면 터미널에 다음 명령을 입력하세요. session:
$ screen -S myprogram
그 중 myprogram이 세션 이름이에요.
스크린 세션에서 프로그램 실행:
$ /path/to/myprogram
스크린 세션에서 Ctrl + a + d 단축키를 사용하여 프로그램을 넣습니다. 백그라운드에서 터미널을 닫고 프로그램은 계속 실행됩니다.
이전에 생성된 스크린 세션을 복원하려면 터미널에 다음 명령을 입력하세요.
$ screen -r myprogram
이렇게 하면 screen 명령을 사용하여 관리하는 프로그램이 백그라운드에서 실행되며, 프로그램은 계속해서 터미널을 닫은 후 실행하십시오.
요약
위 내용은 온라인에서 Golang을 사용할 때 프로그램 실행에 영향을 주지 않고 터미널을 닫을 수 있는 몇 가지 방법입니다. 귀하의 필요와 실제 상황에 따라 적절한 프로그램 관리 방법을 선택할 수 있습니다. 이 글이 모든 사람에게 도움이 되기를 바랍니다.
위 내용은 실행 중인 프로그램에 영향을 주지 않고 Golang에서 터미널을 닫는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!