GNU/Linux >> Znalost Linux >  >> Linux

Vypište aktuálně spuštěnou kartu cron a zastavte ji

Škoda, že na této a dalších stránkách uvedených v google výsledky o tom, jak se vypořádat s hung cron joby, které nikdo nikdy nezmiňuje o pstree.

pstree

Podívejte se pod cronovou část stromu


Myslím, že pokud je kolem shell-script wrapper, měl by cronjob vypršet, pokud běží libovolně dostatečně dlouhou dobu. Obal by měl odeslat SIGHUP nebo SIGALARM, když vyprší časový limit od doby, kdy je cronjob vyvolán. Něco jako toto:

50 * * * * /usr/bin/my_cron_wrapper_timeout -t 1 /usr/bin/my_command_cron_job_to_run

Tento cron_wrapper_timeout by měl v zásadě odeslat signál časového limitu, jakmile uplyne možnost -t přepínače 1 hodina, a poté by měl odeslat kill -HUP signál do cronjob a pak se ujistěte, že proces sklidíte také a poté se ukončíte/zabijete.

Případně by měl být kód napsán v samotném cronjobu, aby zvládl vypršení časového limitu signálu ALARM a zajistilo se, že se vyčistí dříve, než jemně zemře.

UPRAVIT

Přesně tohle jsem měl na mysli:hlídací pes na http://chihungchan.blogspot.com/2011/03/no-more-hanging-jobs-in-cron.html


Měli byste zastavit proces, který spustil crontab.

#kill -HUP PID (PID: Process ID is the process running)

Chcete-li zobrazit vztah PID k běžícím procesům (a další informace), použijte top změňte pořadí sloupců pomocí kláves < a >

Zkuste také ps -ax|grep [your_process_file] který uvádí spuštěné procesy filtrované podle vámi zvoleného názvu

-HUP =Zavěsit


Linux
  1. Jak spravovat a vypisovat služby v Linuxu

  2. Spuštění skriptu s „. “ A se „zdrojem“?

  3. Procházet složku a vypisovat soubory?

  1. Jak zobrazit aktuálně spuštěnou úlohu cronu?

  2. cron občas neběží

  3. Pod jakým uživatelem by měly NGinx a PHP běžet?

  1. Jak vypsat spuštěné relace obrazovky?

  2. Upstart stop, pokud běží

  3. CronJob neběží