감독자가 하위 프로세스의 출력을 기록하지 않는 이유는 무엇입니까?

감독자가 하위 프로세스의 출력을 기록하지 않는 이유는 무엇입니까?

server.sh터미널(지진 전용 서버 실행)에서 스크립트를 실행하면 다음과 같은 초기화 출력이 생성됩니다.

------- Game Initialization -------
gamename: baseqz
gamedate: May 25 2016
initializing access list...
loaded 0 steam ids into the access list
Not logging to disk.
0 teams with 0 entities
21 items registered

누군가 서버에 연결하면 이 스크립트는 다음과 같은 내용을 출력합니다.Person xyz has connected

감독관이 관리해줬으면 좋겠어서버.sh스크립트이지만 감독자는 어떤 종류의 초기화 메시지나 연결 메시지도 출력하지 않습니다(누군가 연결하는 경우). Stdout과 stderr이 모두 기록됩니다. 감독자가 출력을 기록하지 않는 이유는 무엇입니까?서버.sh?

이 내 꺼야감독자 프로필

[program:prog]
command=/home/user/.steam/steamapps/common/qlds/server.sh
stdout_logfile=stdout.txt
stderr_logfile=stdout.txt

[supervisord]
nodaemon=true

[supervisorctl]
serverurl=http://127.0.0.1:9001

[inet_http_server]
port=127.0.0.1:9001

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

편집: server.sh에서 이상한 동작을 발견했습니다.

server.sh &> out.txt

out.txt에는 출력이 생성되지 않습니다(게임 초기화 없음, nothink). 하지만 stdin에 "exit"를 입력한 후에만(server.sh가 종료됨) 게임 초기화 등이 out.txt 파일에 기록됩니다.

답변1

표준 로그 파일의 전체 경로를 시도하고 권한이 올바르게 설정되었는지 확인하세요.

stdout_logfile=/abc/stdout.txt
stderr_logfile=/abc/stdout.txt

관련 정보