Content-type: text/html
qsub [-a date_time][-A
account_string][-c interval]
[-C directive_prefix][-d path][-D path]
[-e
path_name][-h][-I][-j join_list][-k
keep_list]
[-l resource_list][-m mail_options][-M
mail_list][-N name]
[-o path_name][-p
priority][-q destination][-r y|n]
[-S path_name_list][-u
user_list][-v variable_list][-V]
[-W additional_attributes]
[-X][-z][script]
Créer une tâche, c'est soumettre un script exécutable à un serveur batch (lots). Le serveur batch sera le serveur par défaut, sauf si l'option -q est spécifiée (Voir la variable d'environnement PBS_DEFAULT, ci-dessous). Typiquement, le script soumis est un script shell qui sera exécuté par une console shell comme sh ou csh.
Les options de la commande qsub permettent la spécification des attributs pour déterminer le comportement de la tâche soumise.
La commande qsub passe certaines variables d'environnement dans l'attribut Variable_List de la tâche. Ces variables seront disponibles tout au long de l'exécution de la tâche. Les valeurs des variables suivantes seront prises à partir de l'environnement de l'exécution de la commande qsub : HOME, LANG, LOGNAME, PATH, MAIL, SHELL, et TZ. Ces valeurs seront affectées à de nouveaux noms de variables, qui seront le nom actuel avec le préfixe PBS_O_. Par exemple, le tâche aura accès à une variable d'environnement nommée PBS_O_HOME qui aura la valeur de la variable HOME dans l'environnement d'exécution de la commande qsub.
En plus de ce qui précède, les variables d'environnement suivantes seront disponibles pour la tâche batch.
L'argument est de la forme : [[[[CC]YY]MM]DD]hhmm[.SS]
Où CC représente les deux premiers chiffres de l'année (le siècle), YY représente les deux derniers chiffres de l'année, MM représente les deux chiffres du mois (le numéro du mois dans l'année), DD est le jour du mois, hh est l'heure, mms sont les Minutes et SS représente les secondes (Facultatif)
Si le mois n'est pas spécifié, le mois en cours est utilisé par défaut si le jour spécifié est dans le futur. Sinon, le mois suivant est utilisé. De même, si la journée n'est pas spécifiée, le numéro du jour en cours est utilisé si l'heure est dans le futur. Sinon, il sera positionné au jour suivant. Par exemple, si vous envoyez une tâche à 11h:15 mn et l'heure dans laquelle la tâche est éligible à être exécutée est 11h:10 mn alors ladite tâche sera exécutée le lendemain à 11h:10 mn.
Définit la chaîne de caractères représentant le compteur associé à la tâche. La valeur de cette chaîne est interprétée par le serveur qui exécute la tâche.
L'argument est spécifié comme suit :
Si la valeur de l'option est la chaîne null, qsub ne va pas scanner le script pour tenter de récupérer les directives qu'il contient.
L'argument est de la forme :
[hostname:]path_name
Où hostname est le nom du serveur hôte qui va accueillir le fichier et path_name est le chemin d'accès du fichier sur l'hôte dans la syntaxe reconnue par POSIX.
L'argument est interprété comme suit :
Si l'option n'est pas spécifiée, la valeur par défaut du chemin vers le flux d'erreur standard sera utilisée. Le nom par défaut a la forme suivante :
job_name.esequence_number
Où job_name est le nom de la tâche (voir l'option -n) et sequence_number est le numéro de associé à la tâche lors de sa soumission.
Si la valeur de l'argument est oe, les deux flux seront fusionnées et considérés comme les sorties standard. Si la valeur est eo, les deux flux seront considérés comme erreurs standard.
Si l'argument est non spécifié ou égal à n, les deux flux seront dans deux fichiers séparés.
L'argument peut être une des deux lettres suivantes e ou o, l'une des deux combinaisons possibles de ces deux lettres, ou la lettre n.
resource_name[=[value]]
[,resource_name[=[value]],...]
Si le caractère n est spécifié, aucun courrier ne sera envoyé.
Pour les lettres a, b et e :
a Un message est envoyé lorsque l'exécution de la tâche est interrompu par le système batch.
b Un message est envoyé au début de l'exécution de la tâche.
e Un message est envoyé à la terminaison de l'exécution de la tâche.
Si l'option n'est pas spécifiée, Un message sera envoyé si l'exécution de la tâche est interrompue.
Si cette option n'est pas spécifiée, la liste par défaut sera celle associée au propriétaire de la tâche dans le serveur d'exécution de qsub.
Si cette option n'est pas spécifiée, le nom de la tâche sera le même que le nom de base du fichier de script associé à la tâche et indiqué sur la ligne de commande. Si aucun nom de fichier script n'est spécifié, et le script est lu à partir de l'entrée standard, le nom de la tâche sera STDIN.
[hostname:]path_name
Où hostname est le nom d'un hôte auquel le fichier sera renvoyé et pathname est le chemin d'accès de ce hôte dans la syntaxe reconnue par POSIX. L'argument sera interprétée comme suit :
Si l'option n'est pas spécifiée, le nom du fichier de flux de sortie standard par défaut sera utilisé. Le nom par défaut a la forme suivante :
Job_name.osequence_number
Où job_name est le nom de la tâche, voir option -n, et sequence_number est le numéro de la tâche à la soumission.
La commande qsub soumettra le script pour le serveur défini par l'argument. Si la destination est une file d'attente de routage, la tâche peut être routée par le serveur vers une nouvelle destination.
Si l'option n'est pas spécifiée, la commande qsub soumettra le script pour le serveur par défaut. Voir PBS_DEFAULT dans la section Variables d'environnement sur cette page de manuel.
Si l'option est spécifiée, il est dans l'une des trois formes suivantes :
queue
@server
queue@server
Si l'argument spécifie une file d'attente sans spécifier le serveur, la tâche sera soumise à la queue spécifiée sur le serveur par défaut.
Si l'argument spécifie un serveur mais pas la file d'attente, la tâche sera soumise à la queue par défaut sur le serveur spécifié.
Si l'argument spécifie aussi bien une file d'attente et un serveur, la tâche sera soumise la file d'attente nommée du serveur nommé. -r y | n Déclare si la tâche est réexécutable ou non. Voir la commande qrerun. L'argument de l'option peut être un des deux caractères y ou n.
Si l'argument est y, la tâche est réexécutable.
Si l'argument est n, la tâche n'est pas réexécutable. La valeur par défaut est y, réexécutable.
L'argument de l'option est de la forme suivante :
path[@host][,path[@host],...]
Un seul chemin peut être spécifié pour un hôte donné.
Un seul chemin peut être spécifié sans le nom d'hôte correspondant. Le chemin d'accès choisi sera celui qui a le nom de l'hôte correspondant au nom du serveur d'exécution. Si aucun hôte correspondant n'est trouvé, le chemin spécifié sans un hôte sera sélectionné, s'il est présent.
Si l'option n'est pas spécifiée, sa valeur est égale à la chaîne null, ou aucune entrée de path_list n'est sélectionnée, le shell associé au login de l'utilisateur sur le serveur d'exécution sera utilisé.
L'argument user_list est de la forme :
user[@host][,user[@host],...]
Un seul nom d'utilisateur peut être donné pour un hôte donné.
Un seul nom d'utilisateur peut être spécifié sans la spécification de l'hôte correspondant. Ce nom d'utilisateur sera utilisé pour l'exécution sur tous les hôtes qui ne sont pas cités dans l'argument. Si l'argument n'est pas spécifié, le nom utilisateur par défaut sera utilisé, qui est l'utilisateur qui exécute qsub.
En plus des variables définies dans la section "Description" ci-dessus, variable_list défini un ensemble de noms des variables d'environnement de la commande qsub qui sont mis à la disposition de la tâche lors de son exécution. variable_list est une liste de chaînes de caractères séparées par des virgules. Chaque élément est de la forme : variable ou variable=value. Ces variables et leurs valeurs seront passés à la tâche.
-W attr_name=attr_value[,attr_name=attr_value...]
Si la chaîne représentant l'argument contient un espace blanc dans n'importe quelle position ou le signe égal, =, au sein d'une sous-chaîne (attribute_value), alors la chaîne doit être mise entre guillemets.
PBS est accepte, actuellement, les attributs suivants au sein de l'option -W :
depend=dependency_list
Définit la dépendance entre une tâche et les autres tâches.
dependency_list est sous la forme suivante :
type:argument[,type:argument[:argument...],...]
argument est soit un numéro, soit l'identifiant de la tâche PBS. Si argument est un nombre, il doit être supérieur à 0. Si c'est un identifiant d'une tâche, il doit être sous la forme suivante : seq_number.server.name
Si une des formes before est utilisée, les tâches référencées par jobid doivent être soumises avec des dépendances.
Si une des formes before est utilisée, les tâches référencées par jobid doivent avoir le même propriétaire que la tâche soumise. Sinon, la dépendance sera ignorée.
Le traitement des erreurs de l'existence, de l'état ou de la condition de la tâche soumise, et toutes les autres vérifications seront effectuées après que la nouvelle tâche soit mise en file d'attente. Si une erreur est détectée, la nouvelle tâche sera supprimée par le serveur et un message sera envoyé à l'utilisateur qui a soumis la tâche.
qsub -W depend=afterok:123.big.iron.com
/tmp/script
qsub -W
depend=before:234.hunk1.com:235.hunk1.com
/tmp/script
group_list=g_list
Définit le nom du groupe sous lequel la tâche sera exécutée.
L'argument est de la forme :
group[@host][,group[@host],...]
Un seul nom de groupe peut être donné par hôte spécifié. Une des spécifications peut être donnée sans la spécification d'un hôte correspondant. Ce nom de groupe sera utilisé pour l'exécution sur tous les hôtes qui ne sont pas spécifiés dans la liste des arguments. Si le nom du groupe n'est pas spécifié, le premier groupe spécifié sur la machine qui va exécuter la tâche sera la valeur par défaut.
interactive=true
Si l'attribut interactif est spécifié, la tâche sera considérée comme interactive. Cet attribut peut, aussi, être spécifié en utilisant l'option -I.
stagein=file_list
stageout=file_list
Spécifie quels fichiers sont copiés avant de commencer l'exécution de la tâche ou intégrés après l'exécution complète de la tâche. À la fin de l'exécution de la tâche, tous les fichiers copiés ou intégrés sont retirés du système d'exécution. file_list est de la forme suivante :
local_file@hostname:remote_file[,...]
local_file est le nom du système dans lequel la tâche sera exécutée. Il peut être un chemin absolu ou relatif au répertoire de l'utilisateur. Le nom peut être un chemin d'accès absolu ou relatif au répertoire d'accueil de l'utilisateur. Le nom remote_file est le fichier de destination sur l'hôte spécifié par hostname. Ce nom peut être un chemin d'accès absolu ou relatif au répertoire d'accueil de l'utilisateur sur l'hôte de destination.
Si l'opérande n'est pas spécifié ou est égale au caractère -, la commande qsub lit le script à partir de l'entrée standard. Lorsque le script est lu, qsub le sauvegarde dans un fichier temporaire. Ce fichier temporaire est passé à la bibliothèque de routines d'interfaces pbs_submit. Le fichier temporaire est supprimé par qsub lorsque pbs_submit retourne ou accuse réception d'un signal qui cause la terminaison de l'exécution de qsub.
La variable d'environnement PBS_DEFAULT définit le nom du serveur par défaut. En général, il correspond au nom du système hôte sur lequel s'exécute le serveur. Si PBS_DEFAULT n'est pas définie, la valeur par défaut est celle définie par un administrateur.
La variable d'environnement PBS_DPREFIX détermine le préfixe des chaînes qui identifie les directives dans le script.
Par exemple :
:
#PBS -N Job_name
#PBS -l walltime=10:30,mem=320kb
#PBS -m be
#
step1 arg1 arg2
step2 arg3 arg4
La commande qsub parcourt les lignes du fichier de script à la recherche des directives. La ligne du script qui commence par les caractères #! ou le caractère : sera ignorée et l'analyse de la directive va commencer avec la ligne suivante.
Le parcours du fichier se poursuivra jusqu'à la rencontre d'une ligne exécutable, qui sera une ligne non vide, pas une ligne de directive, ni une ligne dont le premier caractère hors espace est #.
Une ligne dans le fichier de script sera traité comme une directive de qsub si et seulement si la chaîne de caractères commençant par un premier caractère hors le caractère espace et de la même longueur que le préfixe de la directive, correspond à ce dernier.
Le reste de la directive est un ensemble d'options de qsub dans la même syntaxe que dans la ligne de commande. Chaque option doit être précédée par le caractère -.
Si une option est présente à la fois dans une directive et sur la ligne de commande, cette option et son argument, le cas échéant, sera ignoré dans la directive. (Priorité à la ligne de commande).
Si une option est présente dans une directive et non sur la ligne de commande, l'option et son argument, le cas échéant, sera traitée comme elle est spécifiée sur la ligne de commande.
Le préfixe de la directive sera déterminé dans l'ordre de préférence suivant :
- La valeur de l'argument de l'option -C si elle est spécifiée sur la ligne de commande.
- La valeur de la variable d'environnement PBS_DPREFIX si elle est définie.
- Les quatre caractères #PBS
Si l'option -C est spécifiée dans une directive du script, elle sera ignorée.
1. L'hôte sur lequel est exécuté qsub a la confiance du serveur d'exécution (voir le fichier /etc/hosts.equiv),
2. L'utilisateur autorisé à l'exécution des tâches dispose d'un fichier .rhosts listant les utilisateurs autorisés à soumettre des tâches ainsi que les hôtes associés.
set EXITVAL = $status
Et la ligne suivante comme dernière ligne du même fichier :
exit $EXITVAL
Quand une tâche interactive est soumise, l'exécution de la commande qsub ne se termine pas à la soumission de la tâche. Elle continue l'exécution jusqu'à ce que la tâche se termine, soit annulée, ou si l'utilisation interrompe qsub avec un SIGINT (CONTR-C). Si qsub est interrompue avant le début de l'exécution de la tâche, une requête sera envoyée à l'utilisateur en lui posant la question s'il veut bien quitter le processus. Si l'utilisateur répond par oui, la session qsub est interrompue.
Lorsqu'une tâche interactive est en cours d'exécution, les entrées et les sorties se font à travers qsub. Les demandes d'interruption passées à l'aide des touches clavier sont transmises à la tâche. Les lignes en entrée qui commencent par le caractère tilde (~) et contiennent des séquences spéciales sont ignorées par qsub. Les séquences spéciales reconnues sont les suivantes :
Si le traitement échoue, le statut de sortie sera supérieur à zéro.
L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité.
La version anglaise la plus à jour de ce document est toujours consultable via la commande : LANGUAGE=en man qsub
N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.