systemdを使用したTTYの読み書き

systemdを使用したTTYの読み書き

対話型端末に書き込んで読み込むアプリケーションがありますが、シェルを介して実行すると期待どおりに機能します。しかし、systemdサービスとして実行すると、アプリケーションはstdoutまたはstderrをキャプチャしないようです。

サービス定義でStandardOutputとStandardErrorをjournal+console修正してみましたtty

私のシステムファイルのサービスセクションは次のとおりです。

[Service] 
ExecStart=/bin/bash -c "cd /somedir && python3 myapp.py" 
ExecStop= 
Restart=always 
RestartSec=10
StandardOutput=tty 
StandardError=tty

私もそれを設定しようとしましたが、TTYPath=/dev/tty2運がありませんでした。

Ubuntu 16.04を実行しています。

編集:追加情報

このアプリケーションを実行すると、作成された対話型セッションは実際にアプリケーションを実行している端末で読み書きできません。独自の端末をエミュレートします。

こちらのリンクをご覧ください。

http://docs.paramiko.org/en/2.4/api/channel.html#paramiko.channel.Channel.get_pty

そしてここ:

http://docs.paramiko.org/en/2.4/api/channel.html#paramiko.channel.Channel.invoke_shell

ベストアンサー1

おすすめ記事