Áú»¢¶Ä²©

This is the documentation page for an unsupported version of Áú»¢¶Ä²©.
Is this not what you were looking for? Switch to the current version or choose one from the drop-down menu.

9 Execuci¨® de comanda

Áú»¢¶Ä²© empra funcionalitats comunes per les verificacions externes, ±è²¹°ù¨¤³¾±ð³Ù°ù±ðs d'usuari, elements de system.run, els scripts personalitzats d'alertes, comandes remotes i scripts d'usuaris.

Passes d'execuci¨®

Per defecte, tots els scripts de Áú»¢¶Ä²© s'executen emprant l'int¨¨rpret d'ordres sh, i no ¨¦s possible modificar l'int¨¨rpret d'ordres predeterminat. Per emprar una shell diferent, podeu emprar una soluci¨® alternativa: creeu un fitxer d'script i invoqueu aquest script durant l'execuci¨® de l'ordre.

La comanda/script s'executa de manera similar a les plataformes Unix i Windows:

  1. Áú»¢¶Ä²© (el proc¨¦s principal) crea un canal de comunicaci¨®
  2. Áú»¢¶Ä²© estableix el canal com a sortida del proc¨¦s fill que s'ha de crear
  3. Áú»¢¶Ä²© crea un proc¨¦s fill (executa l'ordre/script)
  4. Es crea un nou grup de processos (a Unix) o una tasca (a Windows) per al proc¨¦s fill.
  5. Áú»¢¶Ä²© llegeix l'entrada fins que el temps d'espera o fins que ning¨² escrigui a l'altre extrem (s'han tancat TOTS els identificadors/els fitxers). Tingueu en compte que el proc¨¦s fill pot crear diversos processos i acabar abans que surtin o tanquin el controlador/identificador del fitxer.
  6. Si no s'ha arribat al temps d'espera, Áú»¢¶Ä²© espera fins que acabi el proc¨¦s secundari inicial o que hagi transcorregut el temps d'espera.
  7. Si el proc¨¦s secundari inicial ha acabat i no s'ha superat el temps d'espera, Áú»¢¶Ä²© comprova el codi de sortida del proc¨¦s secundari inicial i el compara amb 0 (un valor diferent de zero es considera un error d'execuci¨®, nom¨¦s per als scripts d'alerta personalitzats, ordres remotes i scripts d'usuari que s'executen al servidor Áú»¢¶Ä²© i al proxy Áú»¢¶Ä²©)
  8. En aquest punt, se suposa que tot est¨¤ fet i que tot l'arbre del proc¨¦s (¨¦s a dir, el grup de processos o el treball) ha acabat.

::: nota important Áú»¢¶Ä²© assumeix que s'ha processat una ordre/script quan el proc¨¦s fill inicial hagi acabat I cap altre proc¨¦s encara mantingui obert el descriptor de sortida/descriptor de fitxer. Quan s'ha completat el processament, acaben TOTS els processos creats. :::

Totes les cometes dobles i les barres inclinades invertides de l'ordre s'escapen amb barres invertides i l'ordre s'inclou entre cometes.

Comprovaci¨® del codi de sortida

El codi de sortida es comprova amb les condicions seg¨¹ents:

  • Nom¨¦s per a scripts d'alerta personalitzats, ordres remotes i scripts d'usuari que s'executen al servidor Áú»¢¶Ä²© i al proxy Áú»¢¶Ä²©.
  • Qualsevol codi de sortida diferent de 0 es considera un error d'execuci¨®.
  • El contingut de l'error est¨¤ndard i la sortida est¨¤ndard de les execucions fallides es recullen i s¨®n disponibles a la interf¨ªcie (on es mostra el resultat de l'execuci¨®).
  • Es crea una entrada de registre addicional per a ordres remotes al servidor Áú»¢¶Ä²© per desar els resultats de l'execuci¨® de l'script. Es pot activar mitjan?ant el ±è²¹°ù¨¤³¾±ð³Ù°ù±ð d'agent LogRemoteCommands.

Possibles missatges de la interf¨ªcie web i entrades de registre per a ordres/scripts erronis:

  • Contingut d'error est¨¤ndard i sortida est¨¤ndard per a execucions fallides (si n'hi han).
  • "S'ha sortit del proc¨¦s amb el codi: N." (per a una sortida buida i un codi de sortida diferent de 0).
  • "Proc¨¦s mort per el senyal: N." (per al proc¨¦s finalitzat amb un senyal, nom¨¦s a Linux).
  • "El proc¨¦s va acabar inesperadament". (perqu¨¨ el proc¨¦s s'ha aturat per motius desconeguts).

Veieu tamb¨¦