socat / ghostscript questions

Paul Procacci pprocacci at gmail.com
Tue Apr 20 16:29:14 UTC 2021


I tested the N flag and it resulted in some sort of stack trace; I didn't
go into it that deeply and may have been easy to fix.  /shrug

On Tue, Apr 20, 2021 at 12:23 PM Arthur Chance <freebsd at qeng-ho.org> wrote:

> On 20/04/2021 17:17, Paul Procacci wrote:
> > The hang is most likely because an EOF doesn't get trasmitted over the
> wire.
> > Adding a timeout I believe should fix the problem.
> >
> > nc -w 1 [addr] [port] < filename.txt
>
> Better to use the -N flag.
>
> -N      shutdown(2) the network socket after EOF on the input.  Some
>         servers require this to finish their work.
>
>
>
> > On Tue, Apr 20, 2021 at 11:51 AM James B. Byrne via freebsd-questions <
> > freebsd-questions at freebsd.org> wrote:
> >
> >> I am trying to produce pdf files using socat and ghostscript.  I have
> this
> >> command for socat:
> >>
> >> socat TCP4-LISTEN:9100,bind=192.168.216.41,fork,reuseaddr SYSTEM:'gs
> >> -dQUIET
> >> -dNOPROMPT -dBATCH -sDEVICE=pdfwrite -sOutputFile=/tmp/\"$(date
> >> -Iseconds)\".pdf -'
> >>
> >>
> >> Which I try to send a text file to using cat and nc:
> >>
> >> cat sshpipe3.txt | nc 192.168.216.41 9100
> >>
> >>
> >> What happens is that the cat/nc pipe hangs.  This is probably an
> artifact
> >> of
> >> how nc works but I need to check that is so.  When I terminate nc with
> >> <ctrl>-c
> >> the socat gs instance reports an error:
> >>
> >> GPL Ghostscript 9.52: Unrecoverable error, exit code 1
> >> 2021/04/20 11:32:51 socat[67296] E write(6, 0x800adf000, 128): Broken
> pipe
> >>
> >> This produces an empty file named like
> /tmp/2021-04-20T11:13:20-04:00.pdf.
> >>
> >> I am no doubt missing the obvious here so I have a few naive questions:
> >>
> >> 1. Is it possible to terminate the sending process without causing GS to
> >> issue
> >> an error?
> >>
> >> 2. Would printing from another host to that socat instance result in the
> >> same
> >> broken pipe error?
> >>
> >> 3. Why are the files that gs creates empty?
> >>
> >> 4. How do I send a text file to the socat instance so that it is
> converted
> >> to a
> >> pdf document?
> >>
>
> >
>
>
> --
> Lebowskisort, aka dudesort, an O(1) sorting algorithm:
>
> "Man, the array is cool as it is. Let's go bowling."
>


-- 
__________________

:(){ :|:& };:


More information about the freebsd-questions mailing list