+sub tail_f (@) {
+ $tail_cmd or return; # "tail -F" or "tail -f"
+ for (@_) { open(my $fh, '>>', $_) or die $! };
+ my $cmd = [ split(/ /, $tail_cmd), @_ ];
+ require PublicInbox::Spawn;
+ my $pid = PublicInbox::Spawn::spawn($cmd, undef, { 1 => 2 });
+ wait_for_tail($pid, scalar @_);
+ PublicInboxTestProcess->new($pid, \&wait_for_tail);
+}
+