実行するとps x
(観察いいえ -
)、出力は次のようになります。
PID TTY STAT TIME COMMAND
2489 ? Ss 0:00 /lib/systemd/systemd --user
2490 ? S 0:00 (sd-pam)
2517 tty1 S+ 0:00 -bash
3830 tty4 S 0:00 -bash
4085 ? S 0:00 sshd: manueljordan@pts/0
4086 pts/0 Ss 0:00 -bash
4184 ? S 0:00 sshd: manueljordan@pts/1
4185 pts/1 Ss 0:00 -bash
4265 ? S 0:00 sshd: manueljordan@pts/2
4266 pts/2 Ss 0:00 -bash
4385 tty4 S+ 0:00 man ps
4395 tty4 S+ 0:00 pager
4805 pts/1 S+ 0:00 man ps
4815 pts/1 S+ 0:00 pager
4827 pts/0 S+ 0:00 less
4829 pts/2 R+ 0:00 ps x
これまでは、すべてが大丈夫で期待されています。
ps -x
これは再生(観察)直後に実行され、-
出力は次のようになります。
PID TTY STAT TIME COMMAND
2489 ? Ss 0:00 /lib/systemd/systemd --user
2490 ? S 0:00 (sd-pam)
2517 tty1 S+ 0:00 -bash
3830 tty4 S 0:00 -bash
4085 ? S 0:00 sshd: manueljordan@pts/0
4086 pts/0 Ss 0:00 -bash
4184 ? S 0:00 sshd: manueljordan@pts/1
4185 pts/1 Ss 0:00 -bash
4265 ? R 0:00 sshd: manueljordan@pts/2
4266 pts/2 Ss 0:00 -bash
4385 tty4 S+ 0:00 man ps
4395 tty4 S+ 0:00 pager
4805 pts/1 S+ 0:00 man ps
4815 pts/1 S+ 0:00 pager
4827 pts/0 S+ 0:00 less
4830 pts/2 R+ 0:00 ps -x
実際に実行されたコマンドを表す最新の行を除いて、両方とも同じです。
質問
-x
コマンドの文脈では、これは何を意味しますかps
?
はい、両方の記事を読みました。man ps
オプション/パラメータps --help all
のドキュメントはx
それぞれ次のとおりです。
# Approach 1
x Lift the BSD-style "must have a tty" restriction, which is imposed upon the set of all
processes when some BSD-style (without "-") options are used or when the ps personality
setting is BSD-like. The set of processes selected in this manner is in addition to the
set of processes selected by other means. An alternate description is that this option
causes ps to list all processes owned by you (same EUID as ps), or to list all processes
when used together with the a option.
# Approach 2
x processes without controlling ttys
しかし、-x
何も起こらないようです。正直なところ、ps
命令が実行されると理論的にはエラーが発生する-x
と予想されます。エラーが記録されていないためです。-x
-x
その他の質問
-x
文書化されておらず、理論的に存在しない場合にエラーが発生しないのはなぜですか?
ノート私はこれがこのコマンドのデフォルトの動作だと思いますが、必ずしもそうではありませんd
。
ps -d
働くps d
するいいえ作業中 - エラーが発生しました。
前者は記録され、後者は記録されない。したがって、エラーが予想されます。