OutputFile to /dev/fd?

Stephane Russell stephane.russell at prodigeinfo.com
Mon Dec 3 20:48:34 PST 2007


Hi again,

Well, it seems that ghostscript is ok on my server. I had ghostscript-8.60nb1. I uninstalled it, and replaced it with ghostscript-esp-8.15.1nb6. Both gave me the same result: the task is sent ok, but the printing never happens and gs, foomatic and others associated programs freezes in memory. I also made some tests to see if gs was supporting the /dev/fd/X scheme, and everything went fine.

I'd like to do tests step by step, since a lot of applications are in the process (foomatic, ghostscript, perl, the parallel backend and cups). Is there any way I can test the parallel backend alone to see if it works?

> Stephane Russell wrote:
> > Hello,
> >
> > I installed cups with foomatic+gs to print on a HP LAserJet 5L. The printing freeze with no errors. A "ps" shows that gs is trying to print to /dev/fd/X:
> >
> > ---
> > USER       PID %CPU %MEM   VSZ  RSS  TT  STAT STARTED      TIME COMMAND
> > root      6404  0.0  0.7  4128 3540  ??  SLs   1:34AM   0:14.20 /usr/pkg/sbin/cupsd
> > lp        6737  0.0  1.1  6032 5648  ??  IL    1:49AM   0:00.20 /usr/pkg/bin/perl /usr/pkg/libexec/cups/filter/foomatic-rip 18 srussell Test Page 1 job-uuid
> > lp        6738  0.0  0.4  3332 1884  ??  IL    1:49AM   0:00.00 parallel:/dev/lpt0 18 srussell Test Page 1 job-uuid=urn:uuid:a3548084-8084-37b3-4695-ace0e7f
> > lp        6739  0.0  1.1  6028 5644  ??  IL    1:49AM   0:00.00 /usr/pkg/bin/perl /usr/pkg/libexec/cups/filter/foomatic-rip 18 srussell Test Page 1 job-uuid
> > lp        6740  0.0  1.1  6052 5664  ??  IL    1:49AM   0:00.00 /usr/pkg/bin/perl /usr/pkg/libexec/cups/filter/foomatic-rip 18 srussell Test Page 1 job-uuid
> > lp        6741  0.0  0.1   784  532  ??  IL    1:49AM   0:00.01 sh -c foomatic-gswrapper -q -dBATCH -dPARANOIDSAFER -dNOPAUSE -sDEVICE=ljet4 -sOutputFile=-
> > lp        6742  0.0  0.1   784  532  ??  IL    1:49AM   0:00.02 sh -c gs '-dBATCH' '-dPARANOIDSAFER' '-dNOPAUSE' '-sDEVICE=ljet4' '-sOutputFile=/dev/fd/3' '
> > lp        6743  0.0  0.4  2628 2184  ??  IL    1:49AM   0:00.01 perl -p -0033 -e  s/^&l\\d+[aA]/$&/;
> > lp        6744  0.0  2.4 16496 12504  ??  IL    1:49AM   0:00.34 gs -dBATCH -dPARANOIDSAFER -dNOPAUSE -sDEVICE=ljet4 -sOutputFile=/dev/fd/3 /dev/fd/0
> > ---
> >
> > Does anyone have this problem too? Why is it trying to print in a "fd" device?
> >
> > Thanks
> >
> > SR
> >
>
> The "fd" stands for "file descriptor". /dev/fd/0 is the same as standard input etc.
> The /dev/fd/x trick foomatic-rip uses here is to let Ghostscript do its
> output (the device code) to stdout but spit error messages out to stderr.
>
> It may be that the gs version that is installed on your box pretends to
> support this but actually does not (as some esp-gs 7.xy).
>
> Helge
>
> --
> Helge Blischke
> Softwareentwicklung
>
> H.Blischke at acm.org





More information about the cups mailing list