tty 실행 프로세스에 연결

tty 실행 프로세스에 연결

다른 tty에서 Java 프로그램을 실행하는 시스템 서비스 파일이 있습니다.

[Unit]
Description=java program
After=network-online.target

[Service]
Type=simple
ExecStart=/usr/bin/java -cp "/home/user/someclass.jar"
Restart=always
RestartSec=10
StandardInput=tty-force
StandardOutput=inherit
StandardError=inherit
TTYPath=/dev/tty10
TTYVTDisallocate=yes
TTYReset=yes
TTYVHangup=yes

[Install]
WantedBy=multi-user.target

프로그램은 tty에서 입력을 기다립니다. Ctrl+Alt+F10을 사용하거나 를 사용하여 해당 tty로 변경할 수 chvt 10있으며 프로그램과 상호 작용할 수 있습니다.

이제 현재 tty를 변경하지 않고 해당 tty에서 입력을 보내고 출력을 얻고 싶습니다. 사용해 보았지만 screen빈 화면만 나타났습니다. 해당 tty에서 bash를 실행 하면 script성공하지만 Java 프로그램을 실행하면 실패합니다.

답변1

PTY기능은 socat추가 기능 없이 프로그래밍 방식으로 터미널 집약적인 응용 프로그램을 연결하는 데 가장 적합한 옵션일 것입니다. 예제는 매뉴얼 페이지를 참조하십시오.

또한 터미널 에뮬레이터에서 쉽게 액세스할 수 있도록 유사한(다방향) 재연결 의미 체계가 dtach제공됩니다 .screen

관련 정보