वर्तमान में चल रहे क्रॉन जॉब को कैसे रोकें?


45

मैं एक क्रॉन नौकरी कैसे रोक सकता हूं जो वर्तमान में चल रही है?


2
नीचे दिए गए तीन उत्तर इस प्रश्न की तीन तरह से व्याख्या करते हैं। @ गुरु, क्या आप स्पष्ट कर सकते हैं कि आप क्या करना चाहते हैं? क्या आप क्रोन द्वारा शुरू की गई एक प्रक्रिया को मारना चाहते हैं जो अब चल रही है, या क्या आप भविष्य में चलने वाली नौकरी को रोकना चाहेंगे?
अक्टूबर को jcrawfordor

जवाबों:


29

आप उसी तरह से कर सकते हैं जिस तरह से आप किसी भी प्रक्रिया को रोक देंगे।

वर्तमान में चल रहे cronकाम को रोकने के लिए , आप निम्न में से एक कर सकते हैं:

pkill process-name

या यदि आप पीआईडी ​​जानते हैं (आप इसे चलाकर निर्धारित कर सकते हैं ps):

kill 1234

(वास्तविक पीआईडी ​​प्रतिस्थापित)


1
कैसे सूची में वर्तमान में चल रहे क्रोन नौकरियों?
UWU_SANDUN

5
@UWU_SANDUN: आप के उत्पादन pgrepया उपयोग कर सकते हैं । इससे चलने वाली प्रक्रिया के बारे में कुछ खास नहीं है । आप बस अपने नाम के तहत प्रक्रिया की खोज करेंगे। आप यह भी कर सकते हैं और रेखाओं के नीचे की रेखाएँ नौकरियों को दिखाएंगी । यदि आप उपप्रकारों को देखने के लिए संख्या 1 को अधिक समायोजित कर सकते हैं। greppscronps fauxww | grep -A 1 '[C]RON'cron
डेनिस विलियम्सन

ध्यान दें कि आपको प्रक्रियाओं को मारने के लिए व्यवस्थापक के रूप में सागविन चल रहा होगा। उस पर अधिक जानकारी के लिए यहां देखें ।
टेकनुवा १५

उबंटू का उपयोग करते हुए मैंने टाइप किया @ takanuva15 ने सुझाव दिया ps fauxww | grep -A 1 '[C]RON',। यह चल रहे वर्तमान क्रोन नौकरियों को सूचीबद्ध करता है, इसलिए इसके बाद आप पीआईडी ​​को नोट कर सकते हैं और निष्पादित कर सकते हैं # kill -9 PID। धन्यवाद!
रसेलहॉफ 8

@russellhoff: का -9उपयोग केवल अंतिम उपाय के रूप में किया जाना चाहिए क्योंकि यह प्रक्रिया को किसी भी सफाई को करने से रोकता है क्योंकि यह बाहर निकलता है।
डेनिस विलियमसन

17

क्रोन जॉब को बंद करने के लिए। अपने आदेश की प्रक्रिया आईडी प्राप्त करें

top -p $(pgrep -d',' your_command)

जैसे: -

top -p $(pgrep -d',' httpd)

और भाग खड़ा हुआ

kill PIDPIDप्रक्रिया आईडी के साथ बदलें


14

अजीब, किसी ने भी इस विधि का उल्लेख नहीं किया है:

$ crontab -e

खोले गए संपादक में, उस कार्य की रेखा हटाएं जिसे आप #साइन करना, सहेजना और बाहर निकालना चाहते हैं

जैसे

इससे पहले

* * * * * some_script1
* * * * * some_script2

उपरांत

* * * * * some_script1
#* * * * * some_script2

या

* * * * * some_script1

द्वारा परिवर्तन करने के बाद सेवा को पुनः आरंभ करें

sudo service cron reload

16
यह वर्तमान में चल रही क्रोन नौकरी को नहीं रोकता है, यह भविष्य की क्रोन नौकरियों को रोकती है जो क्रॉन द्वारा लॉन्च की जाएगी।
इवान

10

यदि आप Redhat (RHEL) / Fedora Core / Cent OS Linux का उपयोग कर रहे हैं, तो निम्न कमांड का उपयोग करें:

/etc/init.d/crond stop

यदि आप निम्न आदेश देबिन या उबंटू लिनक्स का उपयोग कर रहे हैं:

/etc/init.d/cron stop

पुनश्च: आपको इन चीजों को करने के लिए मूल होना चाहिए


2
मुझे लगता है कि यह सभी क्रोनों को रोकता है। विशेष क्रोन को रोकने के लिए मैं कमांड को जान सकता हूं

क्या आप किसी भी कमांड सेन को सुझाव दे सकते हैं

मुझे नहीं लगता कि यह सीधे तरीके से संभव है .. शायद हमें हैक के लिए जाना चाहिए।
सेन

6

पहला प्रकार ps auxयह देखने के लिए कि सभी प्रक्रियाएं क्या चल रही हैं।

फिर उस PIDप्रत्येक प्रक्रिया पर ध्यान दें, जिसे आप रोकना चाहते हैं

फिर टाइप करें

kill {PID} प्रत्येक प्रक्रिया के लिए।

इन लिंक पर भी एक नज़र डालें (सुपरसुअर लिंक):

सत्यापित करें कि एक क्रॉन नौकरी-है-पूरा

ps-aux-उत्पादन से अर्थ


3

आप क्रोन तालिका को संपादित कर सकते हैं और प्रश्न में कार्य को टिप्पणी कर सकते हैं। कार्य को नियंत्रित करने वाले उपयोगकर्ता के लिए स्विच करें, अपनी पसंद के संपादक को पर्यावरण में निर्यात करें, फिर उपयोग करें crontab -l:

$ su - root
...
# EDITOR=vi; export EDITOR
# crontab -l

1
वह क्रेस्टब को सूचीबद्ध करता है। crontab -eइसे संपादित करने के लिए उपयोग करें। जिन प्रणालियों के लिए यह है, उनके sudoबजाय उपयोग करना बेहतर है su। इसके अलावा, crontab -eउपयोगकर्ता (या रूट) crontab के लिए काम करेगा, लेकिन सिस्टम crontab (उदा /etc/cron*) नहीं।
डेनिस विलियमसन

1

crontab -r

चल रहे सभी crontabs को हटा देगा, या आप केवल crontab में आदेशों को टिप्पणी कर सकते हैं जिन्हें रोकना होगा।


0

सबसे पहले इस कमांड के साथ काम करने की प्रक्रिया की जाँच करें।

ps -o pid,sess,cmd afx | egrep "( |/)cron( -f)?$"

इस कमांड का आउटपुट है

599  599 cron
4288  599 \_ CRON

और अब इस कमांड के साथ प्रक्रिया को मारें

pkill -s 4288

0

मेरे लिए लिनक्स के लिए काम करना

pkill -9 crontab

सभी प्रक्रिया को मारता है प्रक्रिया नाम क्रॉस्टैब

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.