Gatillar Procesos

Ada tiene una excelente API llamada GNAT.OS_Lib. GNAT.OS_Lib es un paquete que expone servicios del sistema operativo desde Ada.

Con él puedes:

  • Ejecutar procesos externos.

  • Leer y escribir variables de entorno.

  • Explorar directorios y ficheros.

  • Sincronizar tareas del sistema.

with Ada.Text_IO;
with GNAT.OS_Lib;

procedure Process is
   use GNAT.OS_Lib;

   Result    : Integer;
   Arguments : Argument_List :=
                 (  1=> new String'("-al")
                 );

begin

   Spawn
   (  Program_Name           => "/bin/ls",
      Args                   => Arguments,
      Output_File_Descriptor => Standout,
      Return_Code            => Result
   );

   for Index in Arguments'Range loop
      Free (Arguments (Index));
   end loop;

end Process;