다른 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