Hello It seems to me that this is an error at /sbin/route This works fine [qemu] ~ $ route -n monitor & [1] 1526 [qemu] ~ $ arp -d 10.0.2.2 ; ifconfig gif0 create ; ifconfig gif0 destroy 10.0.2.2 (10.0.2.2) deleted 22:26:45.838 PID 1527 delete neigh 10.0.2.2 state REACHABLE lladdr 52:55:0a:00:02:02 iface em0 22:26:45.839 PID 0 add/repl neigh 10.0.2.2 state REACHABLE lladdr 52:55:0a:00:02:02 iface em0 22:26:45.840 PID 0 add/repl iface iface#3 gif0 admin DOWN oper DOWN mtu 1280 22:26:45.843 PID 0 add/repl iface iface#3 gif0 admin DOWN oper DOWN mtu 1280 22:26:45.843 PID 0 add/repl iface iface#3 gif0 admin DOWN oper DOWN mtu 1280 22:26:45.843 PID 0 add/repl iface iface#3 gif0 admin DOWN oper DOWN mtu 1280 22:26:45.845 PID 0 delete iface iface#3 gif0 admin DOWN oper DOWN mtu 1280 but [qemu] ~ $ route -n monitor > temp.log & [1] 1535 [qemu] ~ $ arp -d 10.0.2.2 ; ifconfig gif0 create ; ifconfig gif0 destroy 10.0.2.2 (10.0.2.2) deleted [qemu] ~ $ ll temp.log -rw-r--r-- 1 root wheel 0 Apr 8 22:26 temp.log file is zero length, there's no output from `route -n monitor' if we redirect it to file (or pipe within the script) that's seems to be related w/ 14.0-RELEASE when monitor_nl() and NETLINK is used by default as there's no such behaviour in 13.3-RELEASE I've tested it on amd64 GENERIC (under qemu and on real hardware servers). Found it while trying to fix wireguard wg-quick tool (see bug #275026)
Created attachment 249853 [details] adds stdout flush to generic output function the proposed patch. I've compiled and tested route - now it works as expected