wc -l shell.c > out
wc -l < shell.c
wc -l < shell.c > out
grep jobs command.c | wc -l
cat command.c | cat | grep jobs | cat | wc -l
cat < command.c | grep jobs | wc -l > out
W podprocesie ls
muszą być tylko 4 otwarte deskryptory plików. W zależności od polecenia będzie widać [pipe]
podpięte pod określony deskryptor.
ls -l /proc/self/fd
ls -l /proc/self/fd | cat
echo test | ls -l /proc/self/fd
echo test | ls -l /proc/self/fd | cat
Po przeprowadzeniu testu należy jeszcze sprawdzić deskryptory plików używane przez powłokę: ls -l /proc/$pid/fd
.
sleep 5 &
jobs
[5 sekund]
jobs
false &
true &
Powinno wypisać numeru sygnału który ubił cat
.
cat &
pkill -9 cat
jobs
cat &
jobs
fg
[CTRL+C]
jobs
cat | grep foo &
sleep 1000 &
sleep 2000 &
jobs
kill %2
jobs
[CTRL+D]
cat
[CTRL+Z]
jobs
fg 1
I jeszcze trzeba sprawdzić prawidłowe przywracanie atrybutów terminala:
vi shell.c
[CTRL+Z]
jobs
fg 1
cat
[CTRL+Z]
jobs
bg 1
jobs
cat
[CTRL+Z]
jobs
kill %1
jobs
I jeszcze trzeba sprawdzić prawidłowe przywracanie atrybutów terminala:
less shell.c
[CTRL+Z]
jobs
kill %1
jobs