バックグラウンドプロセスのSTDINをリダイレクトする方法は?

バックグラウンドプロセスのSTDINをリダイレクトする方法は?

私のUbuntuにはバックグラウンドで動作するJavaアプリケーションがあります。 bashスクリプトを使って実行しましたが、次のようになります。

nohup java -jar app.jar &
exit 0

問題は、入力文字列を前景にインポートせずに、他の端末/セッションから自分のアプリケーションに書き込むことができることです。それはまるで

echo "mytext" > /appdir/in

スクリプトをどのように変更する必要がありますか?

ベストアンサー1

メインディレクトリ

#!/bin/bash
set -e

if [ ! -p in ]; then
    mkfifo in
fi
tail -f in | java -jar app.jar

次の構文を使用してアプリケーションにコマンドを送信します。

echo "command" > /home/user/in

おすすめ記事