8 votes

des processus "cron" se créent et s'accumulent, mais pas de crontab

EDIT : J'ai résolu le problème, voir ci-dessous ma propre réponse. Bien que la prime demande une correction du problème, j'aimerais l'attribuer à quelqu'un qui peut expliquer pourquoi un processus cron qui a fonctionné pendant 6 ans sur plusieurs versions de MacOS est soudainement devenu un problème dans Catalina.

Tout d'abord, il ne s'agit pas d'un duplicata de Les processus "cron" s'accumulent car je n'ai pas de crontabs actifs sur mon ordinateur. Les processus Cron se lancent, mais ils ne se terminent jamais, donc ils s'accumulent. Je travaille sous MacOS Catalina 10.15.1.

Les tâches Cron apparaissent toutes les deux minutes et ne meurent jamais. Le processus cron le plus ancien a toujours un processus parent "launchd", et j'ai cherché des crontabs peuplés sans en trouver. Si je laisse faire les choses assez longtemps, je finis par me retrouver avec des centaines de processus cron en cours d'exécution et tout ce qui se trouve sur mon ordinateur s'arrête, et je ne peux même pas ouvrir de nouvelles applications (j'obtiens des messages cryptiques comme ".app cannot be opened" lorsque j'essaie d'ouvrir une application). Ma seule solution à ce stade a été de garder le moniteur d'activité ouvert et de tuer périodiquement tous les processus cron actifs.

J'ai pu créer un nouveau compte utilisateur qui semble être à l'abri de ce problème. Cependant, dès que je me suis connecté à mon Apple ID sur ce compte pour configurer iCloud drive, le problème a commencé avec ce compte également. Je me suis déconnecté de mon Apple ID et j'ai tenté de désinstaller iCloud drive, mais le problème a persisté. L'installation propre de Catalina ne résout pas le problème, j'ai réinitialisé le SMC et la PRAM à plusieurs reprises, et j'ai réparé les permissions (via ce lien https://support.apple.com/en-us/HT203538 ). J'ai également veillé à ce que cron ait un accès complet au disque (par le biais de ceci https://blog.bejarano.io/fixing-cron-jobs-in-mojave/ ). Je suis dans une impasse en essayant de résoudre ce problème.

Je ne suis pas sûr que ce soit lié, mais mon fichier "system.log" semble être envahi par les quelques lignes suivantes :

<redacted> AMPDeviceDiscoveryAgent[2132]: Entered:_AMMuxedDeviceDisconnected, mux-device:63
<redacted> AMPDeviceDiscoveryAgent[2132]: Entered:__thr_AMMuxedDeviceDisconnected, mux-device:63
<redacted> AMPDeviceDiscoveryAgent[2132]: tid:9a27 - Mux ID not found in mapping dictionary

Toute aide est la bienvenue.

5voto

alex keil Points 131

J'ai donc trouvé une réponse pertinente ici :

La tâche Cron continue de s'exécuter, mais ne figure dans aucune crontabs.

Je ne pense pas que cette question doive être supprimée car elle semble concerner Catalina, même s'il s'agit d'une erreur de l'utilisateur.

Explication :

La crontab de Root avait été modifiée à un moment donné, avec des tâches cron que j'ai créées il y a 6 ans sur mon ordinateur (j'ai peut-être fait cela avant d'apprendre que c'était une mauvaise idée). Cette crontab contenait deux lignes référençant chacune un script censé s'exécuter toutes les minutes. Aucune de ces lignes ne faisait référence à des emplacements existants sur mon disque dur, et pour une raison quelconque, cron ne sortait pas après avoir tenté de les exécuter.

Ce problème ne s'est jamais manifesté avant la mise à jour vers Catalina, mais je ne sais pas pourquoi - soit le cron tournait toutes les minutes depuis 6 ans et la mise à jour de Catalina a semi-bloqué le cron, soit quelque chose a été copié dans le fichier Root cron. Probablement le premier problème, qui serait un scénario PIBCAK combiné à des problèmes typiques de Catalina.

La solution a été d'éditer la crontab de Root-owned pour supprimer les deux lignes incriminées, et boum, le problème a disparu !

J'ai créé une nouvelle crontab utilisateur pour les tests, et cela laisse une tâche cron persistante (avec parent = launchd), mais le reste des tâches cron que j'exécute se terminent de manière prévisible et ne consomment pas de ressources. Cron lui-même ne semble pas être cassé, mais les tâches cron exécutées par la racine peuvent être problématiques. (EDIT : J'ai supprimé la crontab Root et maintenant le moniteur d'activité ne montre aucun processus cron en cours d'exécution - je ne comprends pas pourquoi cela ne s'est produit qu'avec certains comptes utilisateurs, puisque rien de tout cela ne s'est produit au niveau de l'utilisateur).

0voto

mxe Points 1

Cela m'est également arrivé juste après la mise à jour vers MacOS Catalina. Il m'a fallu un certain temps pour comprendre pourquoi cela se produisait, et je n'en suis toujours pas certain. J'avais trois cronjobs dans la crontab Root qui devaient wgeter des scripts. Bien qu'ils aient existé, cela a conduit à un nombre excessif de processus cron non terminés. J'utilise maintenant LaunchDaemons avec curl pour appeler les mêmes urls HTTP, et cela fonctionne sans problème. Mais, et c'est ce que nous avons en commun, ces processus cron fonctionnaient sur Mojave et toutes les versions précédentes sans conduire mon Macbook à la limite de processus.

0voto

Sur Catalina, il a créé tellement de processus cron qu'il a atteint la limite. J'ai supprimé Root crontab, mais cela n'a pas résolu le problème. Je me suis alors rendu compte que j'avais une crontab sous mon utilisateur normal. Je l'ai donc également supprimée (crontab -r) et le problème a été résolu. Maintenant, je n'ai plus qu'un seul processus cron en cours d'exécution... Notez que ce problème n'est apparu qu'après la mise à jour de Catalina.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X