meskipun ps adalah proses, grep adalah proses yang ditunjukkan
Keduanya ps
dan grep
merupakan proses. Anda hanya tidak melihat ps
garis karena tidak ada "halo" di dalamnya. Coba, misalnya, ps | grep ".*"
sebagai gantinya, atau bahkan ps | sort | tac | shuf
.
Dengan kata lain, Anda memiliki:
Proses 1: ps aux
- Fd 0 (stdin): terminal (/ dev / tty)
- Fd 1 (stdout): pipa anonim (→ tulis)
- Fd 2 (stderr): terminal
Proses 2: grep hello
- Fd 0 (stdin): pipa anonim (baca →)
- Fd 1 (stdout): terminal
- Fd 2 (stderr): terminal
berjalan pada saat bersamaan .
Inilah tes lain yang menarik - minta ls
untuk menunjukkan deskriptor file sendiri:
$ ls -l / proc / self / fd | kucing
lrwx ------ 1 64 Jul 31 14:29 0 -> / dev / pts / 1
l-wx ------ 1 64 Jul 31 14:29 1 -> pipa: [8087631]
lrwx ------ 1 64 Jul 31 14:29 2 -> / dev / pts / 1
lr-x ------ 1 64 Jul 31 14:29 3 -> / proc / 2150013 / fd /
$ echo test | ls-l / proc / self / fd
lr-x ------ 1 64 Jul 31 14:29 0 -> pipa: [8086629]
lrwx ------ 1 64 Jul 31 14:29 1 -> / dev / pts / 1
lrwx ------ 1 64 Jul 31 14:29 2 -> / dev / pts / 1
lr-x ------ 1 64 Jul 31 14:29 3 -> / proc / 2150022 / fd /
$ echo test | ls-l / proc / self / fd | kucing
lr-x ------ 1 64 Jul 31 14:30 0 -> pipa: [8088183]
l-wx ------ 1 64 Jul 31 14:30 1 -> pipa: [8088184]
lrwx ------ 1 64 Jul 31 14:30 2 -> / dev / pts / 1
lr-x ------ 1 64 Jul 31 14:30 3 -> / proc / 2150056 / fd /