시작 시 Linux 서버 액세스 백그라운드 프로세스가 시작되었습니다.

시작 시 Linux 서버 액세스 백그라운드 프로세스가 시작되었습니다.

내 문제를 설명하기 전에 나는 상대적으로 Linux에 익숙하지 않다는 점을 언급해야 하므로 나의 무지를 용서해 주십시오.

저는 오래된 Dell E10S를 전용 Minecraft 서버로 사용합니다. Linux와 작동 중인 Minecraft 서버를 성공적으로 설치했습니다(여기서 다운로드하세요).

또한 rc.local 파일에 명령을 추가하여 시스템이 부팅될 때 서버가 시작되도록 할 수도 있었습니다 /etc/rc.local.

나는 그것에 썼다 rc.local:

#!/bin/bash
sleep 1m
cd /home/haven/dw-server/
sudo ./start.sh

작동하지만 이제 ssh를 통해 로그인하면 서버가 백그라운드에서 실행되고 Windows에서 할 수 있는 것처럼 서버 명령을 입력할 수 없습니다.

내 컴퓨터에 SSH 접속할 때 서버 명령줄을 불러오는 방법을 아는 사람이 있나요?

나는 fg명령을 시도했다.

답변1

첫째, 시작 스크립트를 (UID 0)로 실행할 필요도 없고 sudo실행 해서도 안 됩니다./etc/rc.localroot

둘째, 나머지 시작 활동이 실행될 수 있도록 스크립트를 종료해야 합니다. 다음과 같이 서버를 백그라운드에 배치하세요.

#!/bin/bash
cd /home/haven/dw-server
nohup bash -c "sleep 1m;./start.sh" >/dev/null 2>&1 &

이렇게 하면 서버가 백그라운드로 전환되어 데몬 프로세스로 전환되고 출력 및 오류 메시지가 삭제됩니다. 또한 sleep 1m시작을 보다 빠르게 재개할 수 있도록 백그라운드 에 배치합니다 .

관련 정보