他のユーザーの画面でコマンドを実行する

他のユーザーの画面でコマンドを実行する

画面で他のユーザーのコマンドを実行しようとしたときに問題が発生しました。

コマンドラインは次のとおりです。

sudo -u user123 screen -A -m -d -L screenlog.0 -S test123 ./my_program.

これが私がすることです:

sudo -u user123 bash -c screen -S test123 -p 0 -X stuff 'top^M'

しかし、私が得るものは次のとおりです。

[screen is terminating]

そして何もしません。

私は何が間違っていましたか?

ありがとうございます。

答え1

screen -S stuffuser で始まる既存のセッションがある場合は、user123次のように既存のセッションでコマンドを実行できます。

sudo -u user123 screen -p 0 -X stuff 'top\n'

関連情報