psコマンド:ttyまたはptsのみに基づいてプロセスレポートを生成する方法は?

psコマンド:ttyまたはptsのみに基づいてプロセスレポートを生成する方法は?

ps --help all次のオプションの存在に関連するオプションに関するコマンドを渡します。tty

 -a                   all with tty, except session leaders
  a                   all with tty, including other users
  x                   processes without controlling ttys

tty[1-6]との違いを知っていますpts/[0...N]。まもなく前者はコンソールを介した直接接続に基づいており、後者はリモート接続を介していますssh。間違った点があれば修正してください。

Ubuntu Server用のVirtual Boxの機能は次のとおりです。

  • 6つのttyは3人の他のユーザーによってログインされています(2つのttyに2人のユーザー、例えばuser1がtty1とtty3にログインし、user2がtty2とtty4にログインするなど)。
  • 3つのSSH接続。

ps aまたは、コマンドが実行されると、ps -a出力の列TTY/ヘッダーにtty[1-6]期待値が表示されます。しかし、も登場しましたpts/[0..N]。期待していませんptsいいえttyA.

ここでこのxオプションについて説明します。説明が次のことを意味するかどうかはわかりません。いいえ関連tty- はいpts。しかし、再びtty(予期しない)ものと予想されるものがありますpts

私がこのオプションを誤って理解した場合は、訂正してください。

質問

  • ttyまたは、ベースでのみプロセスレポートを生成する方法はpts?二人は一緒ではない

答え1

pts何もUNIX 98擬似端末、リモート接続だけでなく。グラフィックターミナルエミュレータscreentmuxセッションなどに使用されていることがわかります。

BSD擬似端末を使用すると、疑似端末の接頭辞になる可能性があるとtty[1-6]述べました。接続端末の接頭辞としても使用されます。ttyttyp0例えばシリアルポート(ttyS0など)、USB(ttyUSB0)などのポートで忘れました。 VT数は6つを超えることがあります。

psすべてを区別するわけではありません。プロセスの制御端末は端末です。

したがって、必要な方法でプロセスを選択する唯一の方法は、単一の端末を指定することです。

ps -t tty1 -t tty2

またはより一般的には、

ttys=(/dev/tty[123456789]*)
ps "${ttys[@]/#/-t}"

など(オプションが追加されました)またはpsポストプロセスの出力:

ps -e | awk '$2 ~ /^tty/'

ps xプロセスに関しては、プロセスxに端末が必要であるという制限は解除されますが、端末なしでプロセスを選択することは制限されません。したがって、ps …x選択したすべてのプロセスだけでなく、欠落している端末によってフィルタリングされた他のプロセスも表示されます。デフォルトps xの場合、これはすべてのプロセスです(ユーザー制限はまだ適用されます)。

関連情報