2011-03-02 11 views
35

मैं अपना काम चलाने के लिए इस आदेश का उपयोग करता हूं।मैं लिनक्स में पृष्ठभूमि प्रक्रिया के रूप में प्रक्रिया को चलाने के लिए नोहप का उपयोग कैसे कर सकता हूं?

(time bash executeScript 1 input fileOutput $> scrOutput) &> timeUse.txt 

जबकि, 1 इस प्रक्रिया को चलाने के लिए उपयोग की जाने वाली कई प्रक्रिया है। मुझे प्रत्येक रन के लिए प्रक्रिया की संख्या बदलनी है। हर बार यह पूरा करने के लिए लंबे समय का उपयोग करें। तो मैं इसे पृष्ठभूमि प्रक्रिया के रूप में चलाने के लिए चाहता हूँ।

मैं यह कैसे कर सकता हूं?

मैंने कोशिश की:

nohup ((time bash executeScript 1 input fileOutput $> scrOutput) &> timeUse.txt) 

लेकिन यह काम नहीं करता।

उत्तर

5
  • उपयोग स्क्रीन: screen प्रारंभ करें, अपनी स्क्रिप्ट, प्रेस Ctrl +एक, डी शुरू करते हैं। screen -r के साथ दोबारा दोहराएं।

  • एक स्क्रिप्ट है कि एक पैरामीटर के रूप में लेता है अपने "1" बनाने, चलाने nohup yourscript:

    #!/bin/bash 
    (time bash executeScript $1 input fileOutput $> scrOutput) &> timeUse.txt 
    
48

सामान्य तौर पर, मैं nohup CMD & का प्रयोग कर एक nohup पृष्ठभूमि प्रक्रिया को चलाने के लिए। हालांकि, जब आदेश एक रूप में है कि nohup स्वीकार नहीं करेगा तो मैं इसे bash -c "..." के माध्यम से चलाता हूं।

उदाहरण के लिए: स्क्रिप्ट से

nohup bash -c "(time ./script arg1 arg2 > script.out) &> time_n_err.out" & 

stdout script.out के लिए लिखा जाता है, जबकि stderr और time के उत्पादन time_n_err.out में चला जाता है।

तो, आपके मामले में:

nohup bash -c "(time bash executeScript 1 input fileOutput > scrOutput) &> timeUse.txt" & 
19

आप एक स्क्रिप्ट लिख सकते हैं और उसके बाद nohup ./yourscript & का उपयोग

निष्पादित करने के लिए उदाहरण के लिए:

vi yourscript 

डाल

#!/bin/bash 
script here 

आप भी सर्वर पर स्क्रिप्ट चलाने के लिए अनुमति बदलना पड़ सकता है

chmod u+rwx yourscript 

अंत में

nohup ./yourscript & 
संबंधित मुद्दे

 संबंधित मुद्दे