「w」はランダムとどう関係していますか?

「w」はランダムとどう関係していますか?
> strace w 2>&1 | grep urandom
read(4, "/usr/bin/grep\0urandom\0", 2047) = 22
> 

「w」にランダムが必要なのはなぜですか?この状況を避ける方法は?

修正する:

> strace w 2>&1 | awk '/urandom/'
read(4, "awk\0/urandom/\0", 2047)       = 14
> 

それでは、フィルタリングはランダムに関連していますか?

> strace who 2>&1 | grep urandom
> 

では、なぜ「誰」が影響を受けないのですか?

ベストアンサー1

マンページからw(1):

勝つ現在のコンピュータのユーザーに関する情報を表示します。そして彼らのプロセス

ユーザーのプロセスを表示するためにコンピュータで実行されているすべてのプロセスを通過します。これを試してみましょう:

$ strace -o w.trace w | grep whatever

トレースで次の行を見つけます(Linuxシステムで)。

open("/proc/8286/cmdline", O_RDONLY)    = 4
read(4, "grep\0whatever\0", 2047)       = 14

すべてのプロセス(表示されていない)をw明示的に参照して表示できるコマンドラインを表示します。/procそれはgrepそれと平行なものを発見し、それがまさにstraceそれがすることです。パイプは同時に2つのプロセスを開始する以外には関係ありません。いくつかの点では、grep自体を見るのと似ていますps | grep

who他のほとんどのコマンドはプロセスに関する情報を必要とせず、プロセスを見つけられないため、追跡時に同じ情報を見ることはできません。

おすすめ記事