नौकरी पर सभी `निकालें


32

मुझे पता है कि एक अनुसूचित atनौकरी को निकालने के लिए मुझे उपयोग करना होगा atrm "numjob1 numjob2", लेकिन क्या सभी नौकरियों के लिए ऐसा करने का एक आसान तरीका है?

जवाबों:


31

आप इस कमांड को atq पर सभी नौकरियों को निकालने के लिए चला सकते हैं

 for i in `atq | awk '{print $1}'`;do atrm $i;done

2
इस उत्तर पर भिन्नताat -l | awk '{printf "%s ", $1}' | xargs atrm
Sergiy Kolodyazhnyy


7

यह मुझे एक छोटी पंक्ति लगती है:

atrm $(atq | cut -f1)


1

यहाँ मेरा xargs संस्करण है जो ब्रेसिज़ से बचता है और उम्मीद है कि सहज है:

atq | cut -f 1 | xargs atrm

आप टाइमस्टैम्प / उपयोगकर्ता द्वारा विशिष्ट नौकरियों को भी प्राप्त कर सकते हैं और फिर उन्हें हटा सकते हैं:

atq | grep "2018-10-22 16:" | cut -f 1 | xargs atrm

0

मेरे पास atd में 58k से अधिक नौकरियां थीं (किसी ने सर्वर को रिबूट किया और किसी कारण से एटीडी सेवा शुरू नहीं हुई)। एट्रम का उपयोग करके नौकरियों को निकालना बहुत अधिक कतार के लिए बहुत दर्दनाक है।

मैंने atd को बंद कर दिया और / var / spool / atjobs और / var / spool / atspool से फ़ाइलों को हटा दिया । मेरे लिए यह काम कर गया।

rm -rf /var/spool/atjobs/* ; rm /var/spool/atspool/*

आप atdफिर से शुरू करने के बारे में कभी कुछ नहीं कहते हैं , और क्या यह सफल रहा है, और न ही आपने यह उल्लेख किया है कि यूनिक्स क्या है, इसके लिए एक पर्याप्त समाधान होगा। आपने यह कैसे सुनिश्चित किया कि अन्य उपयोगकर्ताओं की नौकरियां नहीं हटाई गईं?
कुसलानंद

ठीक है! माफ़ कीजिये! प्रक्रिया के बाद एटीडी शुरू करने की आवश्यकता है। मेरा समाधान "SUSE लाइनेक्स एंटरप्राइज सर्वर 12" के लिए है। लेकिन मुझे लगता है कि यह अन्य वितरणों में उपयोग कर सकता है। मुझे "आदमी" में निर्देशिकाओं की जानकारी मिली। मेरी स्थिति में, केवल रूट ही atd का उपयोग कर रहा है, तब फ़ाइलों को निकालना सुरक्षित था।
फेलिप
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.