अगर Terminal, बंद करने से पहले, और उस प्रक्रिया के लॉग को गूँजने से पहले, 30 सेकंड के लिए चलाने के लिए एक आवेदन पत्र प्राप्त करना संभव है, तो यह कैसे और कैसे संभव है ?
अगर Terminal, बंद करने से पहले, और उस प्रक्रिया के लॉग को गूँजने से पहले, 30 सेकंड के लिए चलाने के लिए एक आवेदन पत्र प्राप्त करना संभव है, तो यह कैसे और कैसे संभव है ?
जवाबों:
आप टाइमआउट कमांड का उपयोग करना चाह सकते हैं ।
timeout -k 10s 30s command
जो 30 के लिए कमांड को चलाएगा और अगर चल रहा है तो 10 के बाद उसे मार देगा। - अधिक विकल्पों के लिए मैनपेज की जाँच करें।
watchमुझे एक बहुत ही दिलचस्प आदेश के रूप में हमला करता है। काम आ सकता है ...
यहाँ दो तरीके हैं (लेकिन mcantsin द्वारा सुझाई गईtimeout कमांड शायद बेहतर है):
कमांड को पृष्ठभूमि में लॉन्च करें, इस तरह से उसका पीआईडी बच जाता है $!और आप इसे निर्दिष्ट समय के बाद मारने के लिए उपयोग कर सकते हैं:
command &
sleep 30 && kill $!कमांड लॉन्च करें और इसका उपयोग करें pkillया killallइसे मार दें। चेतावनी: यह मानता है कि उस नाम के साथ केवल एक आदेश चल रहा है, मैं firefoxएक उदाहरण के रूप में उपयोग कर रहा हूं :
firefox &
sleep 30 && pkill firefoxमुझे नहीं पता कि आप "उस प्रक्रिया के लॉग" से क्या मतलब है, लेकिन एक प्रक्रिया की मानक त्रुटि के साथ एक फ़ाइल में सहेजा जा सकता है command 2> logfile.txt।