maf@dbsm.oz.au (Martin Foord) (02/20/91)
We have a SUN 4/490 and two annex boxes on the same network. Each annex box has two printers off serial lines. All these four printers are used heavily during the course of each day. The mechanism by which one prints from the annex is by using a command "aprint", which makes a connection to the specified annex and port (the port and line both being supplied by command arguments). So, the printcap file has an lp=/dev/null, and the if=/usr/local/lib/annexcat which is a script to pipe the data to "aprint". A problem occurs when people try and print on more than one printer, and therefore all printers try to get access to /dev/null, and so the first come gets first served. Therefore, if someone is printing a *huge* job on one printer off the annex then and some other user trys to print on another printer, the new user must wait for the huge job to finish (ie: until they free the lock on /dev/null). My question is: What sorts of solutions have system administrators come with to this problem ? Has anyone ever had this problem ? Having multiple bit buckets (how is this done?) ? I've tryed setting an lp as a different /tmp file for each printer, and then remove that file after the print job has finished - but this doesn't seem to work ... ("no daemon present"). Any enlightening suggestions ... Martin. -- Martin Foord. MHSnet/ACSnet: maf@dbsm.oz.au Dominguez Barry Samuel Montagu. Internet Gateway: Phone: +61-2-258-2724 maf%dbsm.oz.au@munnari.oz.au
hobbes@caen.engin.umich.edu (Steven J Mattson ) (02/21/91)
In article <1991Feb20.032249.29595@dbsm.oz.au> maf@dbsm.oz.au (Martin Foord) writes: >A problem occurs when people try and >print on more than one printer, and therefore all printers try to get access to >/dev/null, and so the first come gets first served. Therefore, if someone is >printing a *huge* job on one printer off the annex then and some other user >trys to print on another printer, the new user must wait for the huge job to >finish (ie: until they free the lock on /dev/null). Make a copy of /dev/null for each printer, and change the lp entry to point to the copy. Ex: # ls -l /dev/null crw-rw-rw- 1 root 3, 2 Feb 20 11:21 /dev/null # mknod /dev/null-aprint1 c 3 2 # chmod 666 /dev/null-aprint1 # ls -l /dev/null* crw-rw-rw- 1 root 3, 2 Feb 20 11:21 /dev/null crw-rw-rw- 1 root 3, 2 Feb 20 13:11 /dev/null-aprint1 # Some folks prefer to name these /dev/lp-<name>, or group them all in a /dev/lp directory as well for clarity. -Steve Mattson Computer Aided Engineering Network University of Michigan hobbes@caen.engin.umich.edu