एक और समाधान का उपयोग करना है lpd, और एक कस्टम "प्रिंट ड्राइवर" बनाना है जो आपकी नौकरियों को चलाता है। एक मित्र ने मुझे इस तरह से काम करने में मदद की जब मेरे पास एक समान अनुरोध था। इस तरह से एक स्क्रिप्ट बनाएं, और इसे इसमें डालें /tmp/batch.sh:
#!/bin/bash
TMPFILE=$(mktemp /tmp/XXXX)
exec <"$6"
cat - > $TMPFILE
chmod a+x $TMPFILE
$TMPFILE
rm -f $TMPFILE
फिर भागो:
lpadmin -p batch1 -E -P /tmp/batch.sh
यह एक कतार शुरू करता है, और आप बैच 1 के बजाय अन्य नामों का उपयोग करके अधिक बना सकते हैं। इसके साथ एक नौकरी जोड़ें:
lp -d batch1 /path/to/jobscript
साथ कार्य प्रबंधित करें lpq, lprmऔर lpstat। यदि आप अपनी नौकरी के लिए तर्कों को पारित करने के साथ अधिक लचीलापन चाहते हैं, तो आप बैच। S स्क्रिप्ट के प्रशंसक बन सकते हैं।
(मैंने batchइस मार्ग से नीचे जाने से पहले कोशिश की थी, लेकिन या तो यह OSX पर एक कतार के रूप में काम नहीं करता है, या मैं इसे गलत उपयोग कर रहा था।)
batchकमांड "कोई समानांतर नहीं करता है"। एक काम शुरू करने और अगले शुरू करने के बीच आम तौर पर डिफ़ॉल्ट 60sec देरी होती है; हालाँकि, अगली नौकरी खत्म होने के लिए पहले इंतजार करने के लिए कुछ भी नहीं है -atdजैसे ही-bविकल्प द्वारा निर्धारित मूल्य समाप्त हो जाएगा (atdमैन पेज देखें ) जैसे ही आप बैच की कतार से नौकरी छोड़ देंगे ।