Trzy poniższe odpowiedzi interpretują to pytanie na trzy sposoby. @GURU, czy możesz wyjaśnić, co chcesz zrobić? Czy chcesz zabić proces rozpoczęty przez cron, który jest teraz uruchomiony, czy chciałbyś uniemożliwić uruchomienie zadania w przyszłości?
jcrawfordor
Odpowiedzi:
29
Możesz to zrobić w taki sam sposób, jak zatrzymać każdy proces.
Aby zatrzymać aktualnie uruchomione cronzadanie, możesz wykonać jedną z następujących czynności:
pkill process-name
lub jeśli znasz PID (możesz go ustalić, uruchamiając ps):
jak wyświetlić listę aktualnie uruchomionych zadań cron?
UWU_SANDUN
5
@UWU_SANDUN: Możesz użyć pgreplub grepdanych wyjściowych ps. Nie ma nic specjalnego w uruchamianiu procesu cron. Po prostu wyszukaj proces pod własną nazwą. Możesz także zrobić, ps fauxww | grep -A 1 '[C]RON'a wiersze poniżej wierszy pokażą zadania wykonywane przez cron. Możesz ustawić cyfrę 1 wyżej, aby zobaczyć ewentualne podprocesy.
Dennis Williamson,
Uwaga: aby zabijać procesy, musisz uruchomić cygwin jako administrator. Zobacz tutaj, aby uzyskać więcej informacji na ten temat.
takanuva15
Korzystanie Ubuntu Wpisałem co @ takanuva15 zaproponował ps fauxww | grep -A 1 '[C]RON'. Lista bieżących uruchomionych zadań cron, dzięki czemu można zanotować PID w dół i wykonać # kill -9 PID. Dzięki!
russellhoff,
@russellhoff: -9powinien być używany tylko w ostateczności, ponieważ uniemożliwia procesowi czyszczenia po wyjściu.
Dennis Williamson,
17
Aby zatrzymać uruchamianie zadania cron. Najpierw pobierz identyfikator procesu swojego polecenia za pomocą
Możesz edytować tabelę cron i komentować dane zadanie. Przejdź do użytkownika, który kontroluje zadanie, wyeksportuj wybrany edytor do środowiska, a następnie użyj crontab -l:
To zawiera listę crontab. Użyj crontab -edo edycji. W systemach, które go mają, lepiej jest używać sudozamiast su. Działa również crontab -edla crontab użytkownika (lub root), ale nie crontab systemowy (np /etc/cron*.).
Dennis Williamson,
1
crontab -r
usunie wszystkie uruchomione tabele crontab, lub możesz po prostu skomentować polecenia crontab, które należy zatrzymać.
Odpowiedzi:
Możesz to zrobić w taki sam sposób, jak zatrzymać każdy proces.
Aby zatrzymać aktualnie uruchomione
cron
zadanie, możesz wykonać jedną z następujących czynności:lub jeśli znasz PID (możesz go ustalić, uruchamiając
ps
):(zastępując rzeczywisty PID)
źródło
pgrep
lubgrep
danych wyjściowychps
. Nie ma nic specjalnego w uruchamianiu procesucron
. Po prostu wyszukaj proces pod własną nazwą. Możesz także zrobić,ps fauxww | grep -A 1 '[C]RON'
a wiersze poniżej wierszy pokażą zadania wykonywane przezcron
. Możesz ustawić cyfrę 1 wyżej, aby zobaczyć ewentualne podprocesy.ps fauxww | grep -A 1 '[C]RON'
. Lista bieżących uruchomionych zadań cron, dzięki czemu można zanotować PID w dół i wykonać# kill -9 PID
. Dzięki!-9
powinien być używany tylko w ostateczności, ponieważ uniemożliwia procesowi czyszczenia po wyjściu.Aby zatrzymać uruchamianie zadania cron. Najpierw pobierz identyfikator procesu swojego polecenia za pomocą
top -p $(pgrep -d',' your_command)
na przykład:-
top -p $(pgrep -d',' httpd)
i biegnij
kill PID
zamień naPID
id procesuźródło
Dziwne, nikt nie wspomniał o tej metodzie:
W otwartym edytorze usuń wiersz zadania, które chcesz zatrzymać lub wstaw
#
znak, zapisz i wyjdźna przykład
przed
po
lub
uruchom ponownie usługę po wprowadzeniu zmian przez
źródło
Jeśli używasz systemu Redhat (RHEL) / Fedora Core / Cent OS Linux, użyj następującego polecenia:
Jeśli używasz systemu Debian lub Ubuntu Linux, następujące polecenie:
PS: Powinieneś być rootem, aby robić te rzeczy
źródło
Pierwszy typ,
ps aux
aby zobaczyć, jakie są uruchomione wszystkie procesy.Następnie zanotuj
PID
każdy proces, który chcesz zatrzymaćNastępnie wpisz
kill {PID
} dla każdego procesu.Zobacz również te linki (linki superużytkownika):
Sprawdź, czy zadanie-cron-zostało zakończone
ps-aux-output-znaczenie
źródło
Możesz edytować tabelę cron i komentować dane zadanie. Przejdź do użytkownika, który kontroluje zadanie, wyeksportuj wybrany edytor do środowiska, a następnie użyj
crontab -l
:źródło
crontab -e
do edycji. W systemach, które go mają, lepiej jest używaćsudo
zamiastsu
. Działa równieżcrontab -e
dla crontab użytkownika (lub root), ale nie crontab systemowy (np/etc/cron*
.).crontab -r
usunie wszystkie uruchomione tabele crontab, lub możesz po prostu skomentować polecenia crontab, które należy zatrzymać.
źródło
Przede wszystkim sprawdź proces pracy za pomocą tego polecenia.
Dane wyjściowe tego polecenia to
a teraz zabij ten proces za pomocą tego polecenia
źródło
Pracuje dla mnie dla systemu Linux
Zabija cały proces o nazwie crontab procesu
źródło