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

おすすめ記事