The syntax seems to be different:
./a.out 1>/dev/null 2>&1 &
See the devices for FD = 2 are different when ./a.out 1>/dev/null 2>&1 and ./a.out 2>&1 1>/dev/null &
1) FD = 2 points to / dev / null
>./a.out 1>/dev/null 2>&1 & [1] 21181 >lsof -p `pidof a.out` COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME a.out 21181 xxxxxxxxxxxxxxx 0u CHR 136,43 0t0 46 /dev/pts/43 a.out 21181 xxxxxxxxxxxxxxx 1w CHR 1,3 0t0 3685 /dev/null a.out 21181 xxxxxxxxxxxxxxx 2w CHR 1,3 0t0 3685 /dev/null
2) FD = 2 points to / dev / pts / 43
>./a.out 2>&1 1>/dev/null & [1] 25955 >lsof -p `pidof a.out` COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME a.out 25955 xxxxxxxxxxxxxxx 0u CHR 136,43 0t0 46 /dev/pts/43 a.out 25955 xxxxxxxxxxxxxxx 1w CHR 1,3 0t0 3685 /dev/null a.out 25955 xxxxxxxxxxxxxxx 2u CHR 136,43 0t0 46 /dev/pts/43
Sergei Kurenkov Aug 02 '13 at 9:19 on 2013-08-02 09:19
source share