2015-10-28 5 views
5

एसजीई/पीबीएस में शीर्ष स्तर की स्क्रिप्ट के बिना बाइनरी चलाना, मैं क्लस्टर में बाइनरी एक्जिक्यूटिव सबमिट कर सकता हूं जैसे कि मैं स्थानीय रूप से करता हूं। उदाहरण के लिए:एसएलईआरएम

qsub -b y -cwd echo hello 

ईको नामक नौकरी जमा करेगा, जो इसकी आउटपुट फ़ाइल में "हैलो" शब्द लिखता है।

मैं SLURM को एक समान नौकरी कैसे सबमिट कर सकता हूं। यह उम्मीद है कि फाइल को पहली पंक्ति पर हैश-बैंग दुभाषिया होना चाहिए। SLURM पर मैं

$ sbatch echo hello 
sbatch: error: This does not look like a batch script. The first 
sbatch: error: line must start with #! followed by the path to an interpreter. 
sbatch: error: For instance: #!/bin/sh 

या pseuodo qsub का उपयोग कर पाने:

$ qsub echo hello 
There was an error running the SLURM sbatch command. 
The command was: 
'/cm/shared/apps/slurm/14.11.3/bin/sbatch echo hello 2>&1' 
and the output was: 
'sbatch: error: This does not look like a batch script. The first 
sbatch: error: line must start with #! followed by the path to an interpreter. 
sbatch: error: For instance: #!/bin/sh 
' 

मैं स्क्रिप्ट लिखने के लिए नहीं करना चाहते, शीर्ष पर #!/bin/bash रख दिया और अगली पंक्ति में मेरे आदेश और उसके बाद को प्रस्तुत sbatch। क्या इस अतिरिक्त काम से बचने का कोई तरीका है? एक और अधिक उत्पादक तरीका होना चाहिए।

उत्तर

7

आप स्क्रिप्ट में कमांड को स्वचालित रूप से लपेटने के लिए --wrap पैरामीटर का उपयोग कर सकते हैं।

कुछ की तरह:

sbatch --wrap="echo hello"

+0

वाह! यह काम करता हैं। – highBandWidth

+0

क्या 'srun' के लिए' --wrap' की तरह कुछ है? मेरे उपयोग के मामले में, मुझे अवरुद्ध करने की आवश्यकता है। – landau