Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
elearning:workbooks:solaris:10:junior:l110 [2019/11/30 09:21] – admin | elearning:workbooks:solaris:10:junior:l110 [2020/01/30 03:28] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
~~PDF: | ~~PDF: | ||
+ | |||
+ | Version : **2020.01** | ||
Dernière mise-à-jour : ~~LASTMOD~~ | Dernière mise-à-jour : ~~LASTMOD~~ | ||
- | ======SO214 - Gestion des Processus et des Tâches====== | + | ======SO205 - Gestion des Processus et des Tâches====== |
=====Gestion des Processus===== | =====Gestion des Processus===== | ||
Ligne 21: | Ligne 23: | ||
Ces informations sont stockés dans le répertoire **/ | Ces informations sont stockés dans le répertoire **/ | ||
+ | |||
=====Système de fichiers /proc===== | =====Système de fichiers /proc===== | ||
Ligne 26: | Ligne 29: | ||
Pour commencer l' | Pour commencer l' | ||
- | |||
- | # cd /proc; ls -d [0-9]* [Entrée] | ||
- | |||
- | Vous obtiendrez un résultat simialire à celui-ci : | ||
< | < | ||
# cd /proc; ls -d [0-9]* | # cd /proc; ls -d [0-9]* | ||
- | 0 1028 121 | + | 0 |
- | 1 1038 124 | + | 1 |
- | 1006 1046 126 | + | 11 |
- | 1016 1079 1275 140 | + | 113 2 367 382 423 469 |
- | 1026 1080 1290 1550 1651 367 | + | |
</ | </ | ||
Ligne 43: | Ligne 41: | ||
Commencez par regarder le contenu du répertoire **1**. | Commencez par regarder le contenu du répertoire **1**. | ||
- | |||
- | #cd 1; ls -l [Entrée] | ||
- | |||
- | Vous obtiendrez un résultat similaire à celui-ci : | ||
< | < | ||
# cd 1; ls -l | # cd 1; ls -l | ||
- | total 4417 | + | total 5211 |
- | -rw------- | + | -rw------- |
- | -r-------- | + | -r-------- |
- | dr-x------ | + | dr-x------ |
- | -r-------- | + | -r-------- |
- | --w------- | + | --w------- |
- | lr-x------ | + | lr-x------ |
- | dr-x------ | + | dr-x------ |
- | -r-------- | + | -r-------- |
- | -r--r--r-- | + | -r--r--r-- |
- | -r-------- | + | -r-------- |
- | -r--r--r-- | + | -r--r--r-- |
- | dr-xr-xr-x | + | dr-xr-xr-x |
- | -r-------- | + | -r-------- |
- | dr-x------ | + | dr-x------ |
- | -r-------- | + | -r-------- |
- | dr-x------ | + | dr-x------ |
- | -r-------- | + | -r-------- |
- | -r--r--r-- | + | -r--r--r-- |
- | -r-------- | + | -r-------- |
- | lr-x------ | + | lr-x------ |
- | -r-------- | + | -r-------- |
- | -r-------- | + | -r-------- |
- | -r--r--r-- | + | -r--r--r-- |
- | -r-------- | + | -r-------- |
- | -r-------- | + | -r-------- |
</ | </ | ||
- | |||
=====Les Types de Processus===== | =====Les Types de Processus===== | ||
Ligne 89: | Ligne 82: | ||
Un processus peut être dans un de neuf états ou //process states// : | Un processus peut être dans un de neuf états ou //process states// : | ||
- | <note important> | ||
* //user mode// - le processus s' | * //user mode// - le processus s' | ||
- | * //kernel mode//- le processus s' | + | * //kernel mode//- le processus s' |
+ | * //new// - le processus est nouveau, | ||
* //waiting// – le processus est en attente pour une ressource autre que le processeur, | * //waiting// – le processus est en attente pour une ressource autre que le processeur, | ||
* // | * // | ||
- | * // | ||
* //swap// - le processus est endormi dans la mémoire virtuelle, | * //swap// - le processus est endormi dans la mémoire virtuelle, | ||
- | * //new// - le processus | + | * //runnable// – le processus |
* //elected// – le processus a le contrôle du processeur, | * //elected// – le processus a le contrôle du processeur, | ||
* //zombie// – le processus a terminé son exécution et est prêt à mourir. | * //zombie// – le processus a terminé son exécution et est prêt à mourir. | ||
- | </ | ||
=====Les Commandes relatives aux Processus===== | =====Les Commandes relatives aux Processus===== | ||
Ligne 110: | Ligne 101: | ||
# ps | # ps | ||
PID TTY TIME CMD | PID TTY TIME CMD | ||
- | 1607 pts/4 0:00 ps | + | |
- | 1577 pts/4 0:00 sh | + | 964 pts/2 0:00 ps |
- | | + | |
</ | </ | ||
Ligne 120: | Ligne 110: | ||
# ps -f | # ps -f | ||
| | ||
- | root | + | root 822 |
- | root 1577 1321 0 17:47:17 pts/4 0:00 sh | + | root 965 |
- | root | + | |
</ | </ | ||
Ligne 141: | Ligne 130: | ||
# ps -fe | # ps -fe | ||
| | ||
- | root | + | root |
- | root | + | root |
- | root | + | root |
- | root | + | root |
- | root | + | root |
- | root 7 1 | + | root 5 |
- | root | + | root 390 1 |
- | root 398 1 | + | root |
- | root | + | root |
- | daemon | + | root 113 1 |
- | root 183 1 | + | root 352 1 |
- | root 419 1 | + | root 420 |
- | root 397 | + | |
- | | + | |
- | | + | root 279 1 |
- | root 126 1 | + | root 822 |
- | root 140 | + | daemon |
- | daemon | + | |
- | | + | |
- | | + | root 149 1 |
- | root 543 1 | + | root 751 |
- | daemon | + | daemon |
- | root 392 | + | root 434 |
- | daemon | + | noaccess |
- | root 519 | + | root 587 |
- | webservd | + | |
- | root | + | |
- | | + | root 142 1 |
- | root | + | root 473 |
- | root 435 | + | root 424 |
- | | + | root 471 |
- | | + | root 966 |
- | nobody | + | root 423 1 |
- | webservd | + | root 469 1 |
- | webservd | + | root 442 1 |
- | root 568 1 | + | |
- | root | + | root 691 1 |
- | root 1290 1275 0 15:21:50 ? | + | root 698 1 0 12:44:57 ? 0:00 /usr/lib/dmi/snmpXdmid |
- | root 544 | + | root 816 |
- | root | + | root 726 |
- | root 570 | + | root 815 |
- | root 562 | + | root 594 |
- | nobody | + | root 657 1 |
- | root 584 1 | + | root 611 1 |
- | root 928 1 | + | root 609 1 |
- | webservd | + | root 728 |
- | root 607 1 | + | root 677 1 |
- | webservd | + | root 771 |
- | root 603 1 | + | smmsp |
- | root 935 1 | + | root 654 1 |
- | root | + | |
- | root | + | root 719 1 |
- | root | + | |
- | root 659 | + | |
- | root 670 | + | |
- | root 890 | + | |
- | nobody | + | |
- | nobody | + | |
- | root 800 | + | |
- | root 1321 | + | |
- | root 949 1 1 09:25:36 ? 0:26 / | + | |
- | noaccess | + | |
- | root | + | |
- | root | + | |
- | root | + | |
- | root | + | |
- | root | + | |
- | root | + | |
- | root | + | |
- | root 937 1 | + | |
- | root 956 | + | |
- | root | + | |
- | root | + | |
- | root | + | |
- | root 1322 1321 0 15:23:26 ? 0:00 gnome-pty-helper | + | |
- | root | + | |
- | root 1016 | + | |
- | root 996 1 | + | |
- | root 1028 | + | |
- | root | + | |
- | | + | |
- | root 1026 | + | |
- | root | + | |
- | root 1079 1 | + | |
- | smmsp 1080 1 | + | |
- | root | + | |
- | root 1609 1578 1 17:52:17 pts/4 0:00 ps -fe | + | |
- | root 1577 1321 0 17:47:17 pts/4 0:00 sh | + | |
- | root 1578 1577 0 17:47:21 pts/4 0:00 -sh | + | |
</ | </ | ||
- | |||
====Les commandes fg et bg==== | ====Les commandes fg et bg==== | ||
Ligne 237: | Ligne 188: | ||
Normalement les commandes s’exécutent en avant plan. Vous pouvez également lancer des processus en arrière plan ou en tâche de fond. La gestion des tâches de fond n'est pas possible en sh. Vous devez donc passez en ksh ou bash. Si vous lancez une commande en tâche de fond, il faut rajouter (espace)& | Normalement les commandes s’exécutent en avant plan. Vous pouvez également lancer des processus en arrière plan ou en tâche de fond. La gestion des tâches de fond n'est pas possible en sh. Vous devez donc passez en ksh ou bash. Si vous lancez une commande en tâche de fond, il faut rajouter (espace)& | ||
- | | + | < |
+ | # / | ||
+ | # sleep 9999 & | ||
+ | [1] 969 | ||
+ | </ | ||
- | # sleep 9999 & [Entrée] | + | <WRAP center round important |
- | + | **Important** - Notez qu’un processus en arrière plan est dit asynchrone car il se poursuit indépendamment de son parent qui est le shell. En avant plan le processus est dit synchrone. | |
- | <note important> | + | </WRAP> |
- | Notez qu’un processus en arrière plan est dit asynchrone car il se poursuit indépendamment de son parent qui est le shell. En avant plan le processus est dit synchrone. | + | |
- | </note> | + | |
Solaris numérote tous les processus qui sont placés en tâches de fond. On parle donc d’un numéro de tâche. | Solaris numérote tous les processus qui sont placés en tâches de fond. On parle donc d’un numéro de tâche. | ||
Ligne 251: | Ligne 204: | ||
< | < | ||
# jobs -l | # jobs -l | ||
- | [1] + 1646 | + | [1] + 969 Running |
</ | </ | ||
- | <note important> | + | <WRAP center round important |
- | Le numéro de tâche est indiqué entre [crochets] tandis que le PID ne l'est pas. | + | **Important** - Le numéro de tâche est indiqué entre [crochets] tandis que le PID ne l'est pas. |
- | </note> | + | </WRAP> |
- | Si on souhaite envoyer un processus en arrière plan de façon à libérer le shell pour d’autres commandes, il faut d’abord suspendre le processus en question. Normalement on suspend un processus en utilisant la combinaison de touches ^Z. | + | Si on souhaite envoyer un processus en arrière plan de façon à libérer le shell pour d’autres commandes, il faut d’abord suspendre le processus en question. |
- | Pour mieux comprendre, lancez | + | Lancez |
- | + | ||
- | # / | + | |
- | + | ||
- | # sleep 1234 [Entrée] | + | |
- | + | ||
- | Ensuite | + | |
< | < | ||
- | # / | ||
# sleep 1234 | # sleep 1234 | ||
- | ^Z[1] + Arrêté | + | ^Z[2] + Stopped |
# jobs -l | # jobs -l | ||
- | [1] + 1652 Arrêté | + | [2] + 972 |
+ | [1] - 969 Running | ||
</ | </ | ||
- | Un fois suspendu, on utilise la commande bg (background) pour envoyer le processus en arrière plan : | + | Un fois suspendu, on utilise la commande bg (background) pour envoyer le processus en arrière plan. Une fois en arrière plan, le processus continue |
- | + | ||
- | # bg %n° de tâche [Entrée] | + | |
- | + | ||
- | Une fois en arrière plan, le processus continue. | + | |
< | < | ||
- | # bg %1 | + | # bg %2 |
- | [1] sleep 1234& | + | [2] sleep 1234& |
# jobs -l | # jobs -l | ||
- | [1] + 1652 | + | [2] + 972 Running |
+ | [1] - 969 Running | ||
</ | </ | ||
- | Pour ramener le processus en avant plan, il faut de nouveau interrompre le processus concerné. Or cette fois-ci, nous ne pouvons pas utiliser la commande ^Z. Il faut utiliser la commande kill avec l’opérateur –stop. | + | Pour ramener le processus en avant plan, il faut de nouveau interrompre le processus concerné. Or cette fois-ci, nous ne pouvons pas utiliser la commande ^Z. Il faut utiliser la commande kill avec l’opérateur –s stop : |
- | + | ||
- | # kill -s stop %n° de tâche [Entrée] | + | |
< | < | ||
- | # kill -s stop %1 | + | # kill -s stop %2 |
# jobs -l | # jobs -l | ||
- | [1] + 1652 Arrêté | + | [2] + 972 |
+ | [1] - 969 Running | ||
</ | </ | ||
- | <note important> | + | <WRAP center round important |
- | Notez bien l' | + | **Important** - Notez bien l' |
- | </note> | + | </WRAP> |
Pour ramener le processus en avant plan, on utilise la commande fg : | Pour ramener le processus en avant plan, on utilise la commande fg : | ||
- | |||
- | # fg %n° de tâche [Entrée] | ||
< | < | ||
- | # fg %1 | + | # fg %2 |
sleep 1234 | sleep 1234 | ||
+ | ^C# | ||
</ | </ | ||
- | |||
====La commande wait==== | ====La commande wait==== | ||
Cette commande permet de transformer une commande asynchrone en synchrone. Elle est utilisée pour attendre jusqu’à ce que les processus en tâches de fond soient terminés : | Cette commande permet de transformer une commande asynchrone en synchrone. Elle est utilisée pour attendre jusqu’à ce que les processus en tâches de fond soient terminés : | ||
- | |||
- | # wait %n° de tâche [Entrée] | ||
- | |||
- | Par exemple : | ||
< | < | ||
# jobs -l | # jobs -l | ||
- | [1] + 1646 | + | [1] + 969 Running |
# wait %1 | # wait %1 | ||
+ | ^C# | ||
+ | # jobs -l | ||
+ | [1] + 969 Running | ||
</ | </ | ||
Ligne 341: | Ligne 281: | ||
La plage des valeurs de NOMBRE est de 0 à 39. La valeur de NOMBRE est ajouter ou déduit de la valeur par défaut, soit 20. | La plage des valeurs de NOMBRE est de 0 à 39. La valeur de NOMBRE est ajouter ou déduit de la valeur par défaut, soit 20. | ||
- | <note important> | + | <WRAP center round important |
- | Il est à noter que seul root peut décrémenter la valeur de priorité avec la commande renice. | + | **Important** - Il est à noter que seul root peut décrémenter la valeur de priorité avec la commande renice. |
- | </note> | + | </WRAP> |
====La commande nohup==== | ====La commande nohup==== | ||
Ligne 364: | Ligne 304: | ||
Vous constaterez une liste des signaux possibles : | Vous constaterez une liste des signaux possibles : | ||
+ | Sous sh : | ||
+ | |||
+ | < | ||
+ | # echo $SHELL | ||
+ | /sbin/sh | ||
+ | # kill -l | ||
+ | HUP | ||
+ | SEGV SYS | ||
+ | URG | ||
+ | XFSZ WAITING LWP | ||
+ | RTMIN | ||
+ | </ | ||
Sous ksh : | Sous ksh : | ||
- | < | + | < |
+ | # which ksh | ||
+ | / | ||
+ | # / | ||
# kill -l | # kill -l | ||
- | EXIT HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM USR1 USR2 CLD PWR WINCH URG POLL STOP TSTP CONT TTIN TTOU VTALRM PROF XCPU XFSZ WAITING LWP FREEZE THAW CANCEL LOST XRES JVM1 JVM2 RTMIN RTMIN+1 RTMIN+2 RTMIN+3 RTMAX-3 RTMAX-2 RTMAX-1 RTMAX | + | EXIT HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM USR1 USR2 CLD PWR WINCH URG POLL STOP TSTP CONT TTIN TTOU VTALRM PROF XCPU XFSZ WAITING LWP FREEZE THAW CANCEL LOST XRES JVM1 JVM2 RTMIN RTMIN+1 RTMIN+2 RTMIN+3 RTMAX-3 RTMAX-2 RTMAX-1 RTMAX |
</ | </ | ||
Ligne 375: | Ligne 330: | ||
< | < | ||
+ | # exit | ||
+ | # echo $SHELL | ||
+ | /sbin/sh | ||
+ | # which bash | ||
+ | / | ||
# / | # / | ||
- | bash-3.00# kill -l | + | bash-3.2# kill -l |
1) SIGHUP | 1) SIGHUP | ||
5) SIGTRAP | 5) SIGTRAP | ||
Ligne 386: | Ligne 346: | ||
29) SIGPROF | 29) SIGPROF | ||
33) SIGLWP | 33) SIGLWP | ||
- | 37) SIGLOST | + | 37) SIGLOST |
- | 44) SIGRTMIN+3 | + | 43) SIGRTMIN+2 |
- | 48) SIGRTMAX | + | 47) SIGRTMAX-1 |
+ | bash-3.2# exit | ||
+ | exit | ||
</ | </ | ||
- | |||
=====Les commandes procTools===== | =====Les commandes procTools===== | ||
Ligne 407: | Ligne 368: | ||
Cette commande indique les fichiers ouverts : | Cette commande indique les fichiers ouverts : | ||
- | < | + | < |
# pfiles 1 | # pfiles 1 | ||
1: /sbin/init | 1: /sbin/init | ||
Ligne 429: | Ligne 390: | ||
Cette commande donne des informations d' | Cette commande donne des informations d' | ||
- | < | + | < |
# pflags 1 | # pflags 1 | ||
1: /sbin/init | 1: /sbin/init | ||
Ligne 532: | Ligne 493: | ||
< | < | ||
- | # ptree | + | # ptree |
- | 7 / | + | 9 / |
- | | + | |
- | | + | |
- | | + | |
- | 9 / | + | 11 |
- | 52 / | + | 67 / |
- | 121 /usr/lib/crypto/kcfd | + | 113 /usr/lib/sysevent/syseventd |
- | 124 /usr/lib/sysevent/syseventd | + | 137 /usr/lib/power/powerd |
- | 126 /usr/sbin/nscd | + | 144 /usr/lib/crypto/kcfd |
- | 140 /usr/lib/power/powerd | + | 269 /usr/lib/picl/picld |
- | 183 /usr/lib/picl/picld | + | 371 /usr/ |
- | 367 / | + | 380 /lib/svc/method/ |
- | 370 / | + | 383 / |
- | 373 / | + | 387 / |
- | 374 / | + | 388 / |
- | 391 / | + | 390 / |
- | 398 / | + | 407 / |
- | 419 / | + | 424 / |
- | 431 / | + | 429 / |
- | | + | 432 / |
- | | + | 495 / |
- | 519 / | + | |
- | | + | |
- | 543 /usr/sbin/vold -f / | + | 609 / |
- | 544 /usr/sbin/syslogd | + | 611 / |
- | 551 / | + | |
- | 562 | + | 629 |
- | 568 /usr/sfw/sbin/snmpd | + | 644 /usr/sbin/syslogd |
- | 570 / | + | 680 /usr/lib/ssh/sshd |
- | 583 / | + | |
- | 584 /usr/apache2/bin/ | + | |
- | 594 / | + | 882 -sh |
- | | + | 886 sleep 9999 |
- | 596 / | + | 917 ptree |
- | | + | 695 / |
- | | + | 701 / |
- | 603 / | + | 707 /usr/lib/sendmail |
- | 607 / | + | 708 /usr/lib/sendmail |
- | 659 / | + | 736 /usr/lib/dmi/dmispd |
- | | + | 738 /usr/sfw/sbin/snmpd |
- | | + | 739 / |
- | | + | 767 / |
- | | + | |
- | 890 / | + | |
- | | + | |
- | 905 / | + | |
- | 913 / | + | 856 / |
- | 709 / | + | |
- | 718 / | + | |
- | 719 / | + | |
- | 720 / | + | |
- | 721 / | + | |
- | 723 / | + | |
- | 795 / | + | |
- | 875 / | + | |
- | 925 / | + | |
- | 928 / | + | |
- | 930 | + | |
- | 933 / | + | |
- | 935 | + | |
- | 937 / | + | |
- | 949 / | + | |
- | 956 | + | |
- | 958 | + | |
- | 960 | + | |
- | 961 | + | |
- | 984 / | + | |
- | 996 / | + | |
- | 1006 / | + | |
- | 1016 / | + | |
- | 1026 / | + | |
- | 1028 / | + | |
- | 1038 / | + | |
- | 1046 / | + | |
- | 1079 / | + | |
- | 1080 / | + | |
- | 1275 /bin/sh / | + | |
- | 1290 /bin/sh / | + | |
- | 1296 / | + | |
- | 1321 gnome-terminal | + | |
- | 1322 gnome-pty-helper | + | |
- | 1577 sh | + | |
- | 1578 -sh | + | |
- | 1792 ptree | + | |
- | 1650 sh | + | |
- | 1651 / | + | |
- | 1550 / | + | |
- | 1646 sleep 9999 | + | |
</ | </ | ||
Ligne 642: | Ligne 562: | ||
< | < | ||
# dumpadm | # dumpadm | ||
- | | + | |
- | Périphérique de vidage | + | Dump device: /dev/dsk/c0t0d0s1 |
- | Répertoire | + | Savecore |
- | Savecore | + | Savecore |
+ | Save compressed: on | ||
</ | </ | ||
Ligne 652: | Ligne 573: | ||
* le contenu de vidage est les pages mémoire du noyau, | * le contenu de vidage est les pages mémoire du noyau, | ||
* le périphérique de vidage est la tranche swap, | * le périphérique de vidage est la tranche swap, | ||
- | * les fichiers core dump seront écrits dans /var/crash/unknown, | + | * les fichiers core dump seront écrits dans / |
* crash dump est activée. | * crash dump est activée. | ||
Ligne 659: | Ligne 580: | ||
< | < | ||
# dumpadm -n | # dumpadm -n | ||
- | | + | |
- | Périphérique de vidage | + | Dump device: /dev/dsk/c0t0d0s1 |
- | Répertoire | + | Savecore |
- | Savecore | + | Savecore |
+ | Save compressed: on | ||
</ | </ | ||
Ligne 669: | Ligne 591: | ||
< | < | ||
# dumpadm -y | # dumpadm -y | ||
- | | + | |
- | Périphérique de vidage | + | Dump device: /dev/dsk/c0t0d0s1 |
- | Répertoire | + | Savecore |
- | Savecore | + | Savecore |
+ | Save compressed: on | ||
</ | </ | ||
Ligne 704: | Ligne 627: | ||
< | < | ||
- | # dumpadm -c kernel -d /dev/dsk/c0d0s1 | + | # dumpadm -c kernel -d /dev/dsk/c0t0d0s1 |
- | | + | |
- | Périphérique de vidage | + | Dump device: /dev/dsk/c0t0d0s1 |
- | Répertoire | + | Savecore |
- | Savecore | + | Savecore |
+ | Save compressed: on | ||
</ | </ | ||
- | |||
- | < | ||
- | Expliquez la signification des options. | ||
- | </ | ||
Utilisez maintenant la commande **gcore** pour forcer un core dump du processus de votre terminal : | Utilisez maintenant la commande **gcore** pour forcer un core dump du processus de votre terminal : | ||
Ligne 719: | Ligne 639: | ||
< | < | ||
# gcore $$ | # gcore $$ | ||
- | gcore: core.1118 dumped | + | gcore: core.882 dumped |
</ | </ | ||
Ligne 727: | Ligne 647: | ||
< | < | ||
- | # pstack core.1118 | + | # pstack core.882 |
- | core 'core.1118' of 1118: | + | core 'core.882' of 882: -sh |
- | d0774b57 | + | fef1cd85 |
- | d0769688 | + | fef0e644 |
- | 0805e85d | + | 0805e95d |
- | 0805f140 | + | 0805f240 |
- | 08059ba2 | + | 08059c95 |
- | 080605eb | + | 0806072f |
- | 08060467 | + | 080605ab |
- | 080551c6 | + | 0805528a |
</ | </ | ||
Ligne 778: | Ligne 698: | ||
</ | </ | ||
- | <note important> | + | <WRAP center round important |
- | Il est à noter ici que le service cron présume que la machine est allumée en permanence. | + | **Important** - Il est à noter ici que le service cron présume que la machine est allumée en permanence. |
- | </note> | + | </WRAP> |
Quand le démon cron exécute la commande dans un fichier crontab, il définit un environnement réduit comprenant les variables HOME, LOGNAME, SHELL , qui est définit par défaut en **/bin/sh** et PATH. Le variable PATH est définit en tant que **/ | Quand le démon cron exécute la commande dans un fichier crontab, il définit un environnement réduit comprenant les variables HOME, LOGNAME, SHELL , qui est définit par défaut en **/bin/sh** et PATH. Le variable PATH est définit en tant que **/ | ||
Ligne 824: | Ligne 744: | ||
30 3 * * * [ -x / | 30 3 * * * [ -x / | ||
# | # | ||
- | # The rtc command is run to adjust the real time clock if and when | + | # The rtc command is run to adjust the real time clock if and when |
# daylight savings time changes. | # daylight savings time changes. | ||
# | # | ||
Ligne 833: | Ligne 753: | ||
Afin de créer ou éditer un fichier crontab, il convient d' | Afin de créer ou éditer un fichier crontab, il convient d' | ||
- | | + | < |
- | + | # vi .profile | |
- | Editez le fichier ainsi : | + | xterm-256color: |
- | + | I don't know what kind of terminal you are on - all I have is ' | |
- | <file> | + | [Using open mode] |
+ | " | ||
+ | EDITOR=/ | ||
+ | export EDITOR | ||
+ | :x | ||
+ | " | ||
+ | # cat .profile | ||
EDITOR=/ | EDITOR=/ | ||
export EDITOR | export EDITOR | ||
- | </file> | + | TERM=vt100 |
+ | export TERM | ||
+ | </code> | ||
Sauvegardez votre fichier puis ré-amorcez votre Solaris. Ouvrez de nouveau une session root et vérifiez que votre éditeur est bien VI : | Sauvegardez votre fichier puis ré-amorcez votre Solaris. Ouvrez de nouveau une session root et vérifiez que votre éditeur est bien VI : | ||
Ligne 847: | Ligne 775: | ||
# echo $EDITOR | # echo $EDITOR | ||
/usr/bin/vi | /usr/bin/vi | ||
+ | # echo $TERM | ||
+ | vt100 | ||
</ | </ | ||
Nous pouvons maintenant éditer le crontab de root : | Nous pouvons maintenant éditer le crontab de root : | ||
- | | + | < |
- | + | # crontab -e | |
- | Vous obtiendrez un résultat similaire à celui-ci : | + | |
- | + | ||
- | < | + | |
# | # | ||
# | # | ||
Ligne 870: | Ligne 797: | ||
1 2 * * * [ -x / | 1 2 * * * [ -x / | ||
#10 3 * * * / | #10 3 * * * / | ||
- | # | ||
~ | ~ | ||
~ | ~ | ||
Ligne 879: | Ligne 805: | ||
~ | ~ | ||
~ | ~ | ||
- | "/ | + | ~ |
- | </file> | + | "/ |
+ | </code> | ||
Passez en mode EDITION. Tapez ensuite le texte suivant à la fin de votre fichier : | Passez en mode EDITION. Tapez ensuite le texte suivant à la fin de votre fichier : | ||
< | < | ||
- | 10 23 * * * / | + | * * * * * /bin/pwd > pwd.txt |
- | 20 23 * * * /opt/csw/bin/clamscan -r / | + | |
</ | </ | ||
Ligne 894: | Ligne 820: | ||
< | < | ||
- | # cd / | + | # cat / |
- | # ls | + | |
- | adm | + | |
- | # cat root | + | |
# | # | ||
# | # | ||
Ligne 907: | Ligne 830: | ||
30 3 * * * [ -x / | 30 3 * * * [ -x / | ||
# | # | ||
- | # The rtc command is run to adjust the real time clock if and when | + | # The rtc command is run to adjust the real time clock if and when |
# daylight savings time changes. | # daylight savings time changes. | ||
# | # | ||
1 2 * * * [ -x / | 1 2 * * * [ -x / | ||
#10 3 * * * / | #10 3 * * * / | ||
- | 10 23 * * * / | + | * * * * * /bin/pwd > pwd.txt |
- | 20 23 * * * /opt/csw/bin/clamscan -r / | + | # |
- | # | + | |
</ | </ | ||
- | |||
- | < | ||
- | Créez un crontab pour l' | ||
- | </ | ||
====at==== | ====at==== | ||
Ligne 926: | Ligne 844: | ||
* / | * / | ||
- | |||
* / | * / | ||
- | <note important> | + | <WRAP center round important |
- | Si le fichier at.allow existe, seuls les utilisateurs dans ce fichier pourront exécuter at. | + | **Important** - Si le fichier at.allow existe, seuls les utilisateurs dans ce fichier pourront exécuter at. |
- | </note> | + | </WRAP> |
Pour mettre en place une tâche at, vous devez indiquer au système à quel moment cette tâche doit avoir lieu. Dans l' | Pour mettre en place une tâche at, vous devez indiquer au système à quel moment cette tâche doit avoir lieu. Dans l' | ||
< | < | ||
- | # at now +3 minutes | + | # at now +3 minutes |
- | at> pwd > / | + | at> pwd > / |
- | at> [^D] [Entrée] | + | |
at> <EOT> | at> <EOT> | ||
- | les commandes seront exécutées avec /sbin/sh | + | commands will be executed using /sbin/sh |
- | tâche 1212489663.a à mar. juin 3 12:41:03 2008 | + | job 1579153920.a at Thu Jan 16 06:52:00 2020 |
</ | </ | ||
Ligne 948: | Ligne 864: | ||
< | < | ||
# at -l | # at -l | ||
- | user = root 1212489663.a | + | user = root 1579153920.a |
</ | </ | ||
Ligne 955: | Ligne 871: | ||
< | < | ||
# cat / | # cat / | ||
- | /var/ | + | / |
</ | </ | ||
- | Mettez en place maintenant deux tâches pour le 31/12/2012 à 13h00 et 14h00 respectivement : | + | Mettez en place maintenant deux tâches pour le 31/12 à 13h00 et 14h00 respectivement : |
< | < | ||
- | # at 13:00 Dec 31 [Entrée] | + | at> pwd > / |
- | at> pwd > / | + | at> < |
- | at> [^D] [Entrée] | + | commands will be executed using /sbin/sh |
- | at> <EOT> | + | job 1609416000.a at Thu Dec 31 13: |
- | les commandes seront exécutées avec /sbin/sh | + | # at 14:00 Dec 31 |
- | tâche 1230724800.a à lun. déc. 31 13: | + | at> vmstat > / |
- | </ | + | |
- | + | ||
- | < | + | |
- | # at 14:00 Dec 31 [Entrée] | + | |
- | at> vmstat > / | + | |
- | at> [^D] [Entrée] | + | |
at> <EOT> | at> <EOT> | ||
- | les commandes seront exécutées avec /sbin/sh | + | commands will be executed using /sbin/sh |
- | tâche 1230728400.a à lun. déc. 31 14: | + | job 1609419600.a at Thu Dec 31 14: |
</ | </ | ||
Ligne 982: | Ligne 892: | ||
< | < | ||
# at -l | # at -l | ||
- | user = root 1230724800.a | + | user = root 1609416000.a |
- | user = root 1230728400.a | + | user = root 1609419600.a |
</ | </ | ||
Ligne 989: | Ligne 899: | ||
< | < | ||
- | # cd / | + | # ls / |
- | # ls | + | 1609416000.a |
- | 1230724800.a | + | |
</ | </ | ||
Ligne 997: | Ligne 906: | ||
< | < | ||
- | # cat 1230724800.a | + | # cat / |
: at job | : at job | ||
: jobname: stdin | : jobname: stdin | ||
: notify by mail: no | : notify by mail: no | ||
: project: 1 | : project: 1 | ||
- | export AB_CARDCATALOG; | ||
- | export COLORTERM; COLORTERM=' | ||
- | export DISPLAY; DISPLAY=': | ||
- | export DTAPPSEARCHPATH; | ||
- | export DTDATABASESEARCHPATH; | ||
- | export DTDEVROOT; DTDEVROOT='' | ||
- | export DTHELPSEARCHPATH; | ||
- | export DTSCREENSAVERLIST; | ||
- | export DTSOURCEPROFILE; | ||
- | export DTUSERSESSION; | ||
- | export DTXSERVERLOCATION; | ||
export EDITOR; EDITOR='/ | export EDITOR; EDITOR='/ | ||
- | export ENV; ENV='/ | ||
- | export GNOME_DESKTOP_SESSION_ID; | ||
- | export GNOME_KEYRING_SOCKET; | ||
- | export GTK_RC_FILES; | ||
- | export G_BROKEN_FILENAMES; | ||
- | export G_FILENAME_ENCODING; | ||
- | export HELPPATH; HELPPATH='/ | ||
export HOME; HOME='/' | export HOME; HOME='/' | ||
- | export LANG; LANG='fr_FR.ISO8859-15' | + | export LANG; LANG='C' |
- | export LC_COLLATE; LC_COLLATE=' | + | |
- | export LC_CTYPE; LC_CTYPE=' | + | |
- | export LC_MESSAGES; | + | |
- | export LC_MONETARY; | + | |
- | export LC_NUMERIC; LC_NUMERIC=' | + | |
- | export LC_TIME; LC_TIME=' | + | |
export LOGNAME; LOGNAME=' | export LOGNAME; LOGNAME=' | ||
- | export MAIL; MAIL='/ | + | export MAIL; MAIL='/ |
- | export MANPATH; MANPATH='/ | + | export PATH; PATH='/ |
- | export OPENWINHOME; | + | |
- | export PATH; PATH='/ | + | |
- | export PWD; PWD='/' | + | |
- | export SDT_NO_DTDBCACHE; | + | |
- | export SDT_NO_TOOLTALK; | + | |
- | export SESSIONTYPE; | + | |
- | export SESSION_MANAGER; | + | |
- | export SESSION_SVR; | + | |
export SHELL; SHELL='/ | export SHELL; SHELL='/ | ||
- | export | + | export |
- | export TERM; TERM='xterm' | + | export SSH_CONNECTION; |
+ | export SSH_TTY; SSH_TTY='/ | ||
+ | export TERM; TERM='vt100' | ||
export TZ; TZ=' | export TZ; TZ=' | ||
export USER; USER=' | export USER; USER=' | ||
- | export WINDOWID; WINDOWID=' | ||
- | export XFILESEARCHPATH; | ||
- | export XMBINDDIR; XMBINDDIR='/ | ||
- | export XMICONBMSEARCHPATH; | ||
- | export XMICONSEARCHPATH; | ||
- | export _; _='/ | ||
- | export dtstart_sessionlogfile; | ||
$SHELL << ' | $SHELL << ' | ||
# | # | ||
- | cd /var/ | + | cd / |
umask 22 | umask 22 | ||
ulimit unlimited | ulimit unlimited | ||
- | pwd > /tmp/test13.atd | + | vmstat |
</ | </ | ||
- | Pour supprimer cette tâche il convient d' | + | Pour supprimer cette tâche il convient d' |
- | + | ||
- | # at -r N° de tâche [Entrée] | + | |
- | + | ||
- | Par exemple | + | |
< | < | ||
# at -l | # at -l | ||
- | user = root 1230724800.a | + | user = root 1609416000.a |
- | user = root 1230728400.a | + | user = root 1609419600.a |
- | # at -r 1230724800.a | + | # at -r 1609416000.a |
# at -l | # at -l | ||
- | user = root 1230728400.a | + | user = root 1609419600.a |
</ | </ | ||
Ligne 1078: | Ligne 946: | ||
# at 10:00 < todo.txt [Entrée] | # at 10:00 < todo.txt [Entrée] | ||
- | |||
- | Par exemple : | ||
- | |||
- | < | ||
- | # touch todo.list | ||
- | # echo pwd > todo.list | ||
- | # echo free >> todo.list | ||
- | # echo who >> todo.list | ||
- | # at 14:30 Dec 31 < todo.list | ||
- | les commandes seront exécutées avec /sbin/sh | ||
- | tâche 1356960600.a à lun. déc 31 14:30:00 2012 | ||
- | </ | ||
----- | ----- | ||
< | < | ||
< | < | ||
- | Copyright © 2011-2018 I2TCH LIMITED.< | + | Copyright © 2020 Hugh Norris.< |
</ | </ | ||
</ | </ |