Mac OS X: कमांड में काम नहीं कर रहा है


42

मैं कमांड का उपयोग करके नौकरी शेड्यूल करने जा रहा हूं। यहाँ मैंने निम्नलिखित कमांड आज़माया:

$ at now + 1 minute
echo 'Test at command'
<EOD>

मैंने देखा -L का उपयोग करके काम निर्धारित है। हालांकि, मैंने कोई प्रतिध्वनि नहीं देखी।

मुझे लगता है कि मुझे उपयोगकर्ता को at.allow फ़ाइल में जोड़ने की आवश्यकता हो सकती है। मैं अपने मैक (हिम तेंदुए) में नहीं ढूँढ सकता। यह सुनिश्चित करने के लिए नहीं कि कमांड पर इसे परीक्षण करने के लिए मुझे क्या करने की आवश्यकता है?


मैंने आदमी से जानकारी पढ़ने की कोशिश की। इसमें उल्लेख किया गया है कि "यदि फ़ाइल _PERM_PATH / at.allow मौजूद है, तो इसमें उल्लिखित केवल उपयोगकर्ता नाम का उपयोग करने की अनुमति है ... यदि ... at.allow मौजूद नहीं है, तो _PERM_PATH / at.deny की जाँच की जाती है," I मुझे यकीन नहीं है कि _PERM_PATH क्या है

Apple OSX तेंदुए के मामले में, "at" के लिए PERM_PATH / usr / lib / cron है।
रिचर्ड हॉकिंस

मैक ओएस एक्स लायन के लिए/var/at
स्टीफन श्मिट

जवाबों:


40

आवश्यक atrunडेमॉन को सक्षम करने के लिए , जैसा man atrunकि कहते हैं, निष्पादित करें:

launchctl load -w /System/Library/LaunchDaemons/com.apple.atrun.plist

जड़ के रूप में (जैसे के माध्यम से sudo)। एक बार जब आप ऐसा कर लेते हैं, /var/at/तो प्रमुख निर्देशिका होगी (हालांकि सबसे सरल तरीका atरूट के रूप में उपयोग करना है - उदाहरण के लिए, एक बार फिर से, sudo-!)।


मुझे पता है कि आपको अटरुन डेमन को सक्षम करने के लिए रूट होने की आवश्यकता है, लेकिन आपको "कमांड" पर चलाने के लिए रूट होने की आवश्यकता नहीं है। (जब तक उन आदेशों को रूट की आवश्यकता न हो।)
रिचर्ड होपकिन

1
क्या यह सक्रियण या एटरून रिबूट से बचता है?
एरिक ओ लेबिगॉट

मैन पेज के अनुसार हाँ, लेकिन मैंने इसे आज़माया नहीं है।
स्टीफन श्मिट

1
अगर /var/at/at.denyखाली है, तो आपको नौकरियों पर कतार लगाने की ज़रूरत नहीं है, अन्यथा आप अपना उपयोगकर्ता नाम जोड़ सकते हैं /var/at/at.allow
स्टीफन श्मिट

मैं पहले आदमी पृष्ठों को पढ़ना चाहिए ... धन्यवाद!
पॉलिम

13

हिम तेंदुए में आपको निम्न करने की आवश्यकता है:

  1. संपादित करें /System/Library/LaunchDaemons/com.apple.atrun.plist, अक्षम बच्चे नोड को true-> से बदलें false

  2. के /System/Library/LaunchDaemons/com.apple.atrun.plistसाथ वर्तमान को उतारें :

    sudo launchctl unload -F /System/Library/LaunchDaemons/com.apple.atrun.plist
    

    फिर संपादित संस्करण लोड करें

    sudo launchctl load -F /System/Library/LaunchDaemons/com.apple.atrun.plist
    
  3. परीक्षण करें कि यह किसके साथ काम करता है:

    echo blah | at now+1
    
  4. यदि एक अलग कारण के लिए प्रतिध्वनि विफल हो जाती है, तो आपको कम से कम यह देखने में सक्षम होना चाहिए कि कतार साफ हो जाए:

    atq
    

1
यह केवल एक है जिसने मेरे लिए OSX 10.10 योसेमाइट पर काम किया।
कॉलिन डीन

5

मैंने ओएस एक्स लॉयन पर यह कोशिश की और यह काम करने लगा।

पहले atrunबधिर को सक्षम करें :

launchctl load -w
/System/Library/LaunchDaemons/com.apple.atrun.plist

फिर [अपना उपयोगकर्ता नाम] जोड़ें /var/at/at.allow

निष्पादित होने पर आपको आउटपुट प्राप्त होगा /var/mail/[your username]

मुझे लगता है कि पंक्तिबद्ध आइटम batchवास्तव में निष्पादित होने में कुछ मिनट लगते हैं।


2

दूसरों ने मैक ओएस एक्स पर अक्षम होने के बारे में जवाब दिया है , और मुझे इसके बारे में नहीं पता है, लेकिन एक और समस्या है: आप अपने ईको कमांड से इसका संदेश कहां प्रिंट करने की उम्मीद करते हैं ? अन्य यूनिक्स प्रणालियों कि मैं यह करता है का इस्तेमाल किया है पर नहीं एक ही खोल खिड़की जहां दे दी है में मुद्रित पर आदेश। याद रखें कि जब से काम चलाया जाता है, तुम भी किसी भी अधिक लॉग इन नहीं किया जा सकता है।

इसके बजाय किसी फ़ाइल में कुछ लिखने का प्रयास करें, और देखें कि क्या वह फ़ाइल सही समय पर दिखाई देती है।


मैन पेज बताता है, कि आउटपुट आपको मेल किया जाएगा।
स्टीफन श्मिट

@Stefan: हाँ, और यह 1980 के दशक में अच्छी तरह से काम किया था, जब मेल को उसी मशीन पर स्थानीय रूप से संभाला जाता था, लेकिन मेरा अनुभव (मैक ओएस एक्स के अलावा अन्य प्रकार के यूनिक्स के साथ) यह है कि आजकल आपको किसी भी मेल को प्राप्त करने की उम्मीद नहीं करनी चाहिए।
थॉमस पैड्रॉन-मैक्कार्थी

0

OS X की मेरी स्थापना (10.4) में कहा गया है man at:

ध्यान दें
     मैक ओएस एक्स पर बैच, एटैक, एट्रम सभी डिफ़ॉल्ट रूप से अक्षम हैं।

क्या आपने atrunवहां दिए निर्देशों के अनुसार सक्षम किया है?


मैंने यह खोजने की कोशिश की कि मेरे मैक में एट्रोन कहाँ है। वेब से, एक और विकल्प उपयोगकर्ता को at.allow में जोड़ना है। मुझे यह फाइल नहीं मिली (at.allow) न ही।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.