मैंने बैश के एक स्निपेट को दूरस्थ रूप से निष्पादित ssh कमांड की पृष्ठभूमि के लिए कॉपी किया:
ssh user@remote <<CMD
some process <&- >log 2>error &
CMD
क्या करता <&-
है?
मेरा अनुमान है कि यह वैसा ही है< /dev/null
मेरा अगला समझ है कि तीन मुख्य फ़ाइल वर्णनकर्ता (है stdin
, stdout
, stderr
) को रोकने के लिए बंद कर दिया जाना चाहिए:
- नौकरी छिपी हुई है और पटकथा से बाहर निकलना - किसी भी तरह से संघर्ष करना?
- जब टर्मिनल बंद हो जाता है, तो टर्मिनल से स्टड को स्वीकार करने वाली सभी प्रक्रियाएं बंद हो जाती हैं?
ssh -nNT user@remote 'command'
तो एक गैर-संवादात्मक एसएसएच सत्र बनाएगा। संलग्न &
यह पृष्ठभूमि, आगे जोड़ते करने nohup
के लिए command
करता है, तो आपके कनेक्शन मरता चल इसे रखने के लिए।
man ssh
सुझाव है कि -N पूरी तरह से रिमोट कमांड चलाने में अक्षम है, और एक त्वरित परीक्षण इसका समर्थन करता है।