web-dev-qa-db-fra.com

Quelles commandes affichent les tâches en attente / planifiées dans Terminal?

Quelles commandes puis-je utiliser dans Terminal pour voir les tâches en attente ou planifiées pour aujourd'hui ou pour demain?.

Par exemple, comment détecter un système en attente d'arrêt?

6
JoKeR

Il est util appelé cron. Habituellement, cron gère la planification des tâches sous Linux. Mais il y a aussi peu d'autres moyens de le faire.

Dans le cas de cron, vous pouvez simplement exécuter crontab -l pour voir toutes les tâches planifiées par l'utilisateur actuel.

Si vous voulez vérifier la tâche d’un autre utilisateur, utilisez la touche -u $username

POUR vérifier root tâches utilisateur: Sudo crontab -u root -l

Pour comprendre le format de crontab, veuillez lire wiki

Si vous voulez détecter exactement l’arrêt du système

L’une des solutions possibles est d’envelopper la commande shutdown dans un script.

Une autre solution consiste à écrire un signal trap détectant SIGTERM, mais cette solution ne vous laisse pas le temps de mettre le système à l'arrêt. En savoir plus sur le piège ici

Il existe également une autre solution délicate:

Si vous exécutez Sudo shutdown -r 20:00, vous générez un processus qui démarrera à 20h00.

Vous pouvez trouver ce processus en utilisant ps

$ ps -ef | grep shutdown
root     32222 32032  0 15:55 pts/8    00:00:00 Sudo shutdown -r 20:00
root     32223 32222  0 15:55 pts/8    00:00:00 shutdown -r 20:00
c0rp     32382 32233  0 15:55 pts/10   00:00:00 grep --color=auto shutdown

Et vous pouvez voir un moment ici. Si vous tuez ce processus, l'arrêt sera annulé

4
c0rp