En un IBM Mainframe que ejecuta z / OS, ejecuta una utilidad que copia un conjunto de datos (archivo) a otro conjunto de datos (archivo). La entrada es la fuente del JCL (Job Control Language) que ha enviado para que se ejecute. La salida es el lector interno (INTRDR). También deberá asegurarse de que su sistema no permita la ejecución de múltiples nombres de trabajo idénticos. Es bueno usar una clase de trabajo que solo tiene un iniciador (lugar donde se puede ejecutar un TRABAJO en lote).
No hay PID involucrados (en z / OS), por lo que falla el conjunto de desafíos.
Detiene el proceso drenando y / o enjuagando. Si algo salió mal, drenando y / o enjuagando, jurando, pateando, intentando un arranque en caliente y finalmente con un arranque en frío o presionando el Botón Rojo Grande (y disparando al programador).
Puede que haya exagerado en el camino, pero no intentes esto en el trabajo ...
Ejemplo usando SORT. Los detalles en la tarjeta JOB dependen mucho del sitio. La política del sitio puede prohibir o impedir el uso de INTRDR. Se puede requerir una clase específica para usar el INTRDR. Si la política de su sitio prohíbe su uso , no lo use a menos que quiera llevar sus pertenencias a caminar en una caja de cartón.
Aunque hay buenos usos para el INTRDR, no lo use para este propósito . Ni siquiera tendrá la oportunidad de obtener su caja.
//jobname JOB rest is to your site standards
//*
//STEP0100 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTOUT DD SYSOUT=(,INTRDR) minimum required, site may require more
//SYSIN DD *
OPTION COPY
//SORTIN DD DISP=SHR,DSN=YOUR.LIBRARY.WITHJOB(JOBMEMBR)
Otras utilidades están disponibles. Un programa rápido también sería fácil de hacer, solo leer un archivo, escribir un archivo.
Si desea que un ejemplo de esto salga mal, intente: http://ibmmainframes.com/viewtopic.php?p=282414#282414
La forma tradicional de copiar un conjunto de datos es usar la utilidad IBM IEBGENER, como alude ugoren en su comentario.
Sin embargo, en estos días, muchos sitios tendrán IEBGENER "alias" a ICEGENER. ICEGENER, si puede, usará DFSORT de IBM (o su rival SyncSort) para hacer una copia, porque los productos SORT están mucho más optimizados para IO que IEBGENER.
Solo estoy eliminando al intermediario usando SORT.
Si trabaja en un sitio de IBM Mainframe, conoce el formato de la tarjeta JOB que debe usar. La tarjeta de trabajo mínima es como he mostrado, sin el comentario. El comentario será importante, porque se supone que debes proporcionar información contable, por ejemplo. El nombre del trabajo probablemente tendrá un formato específico del sitio.
Algunos sitios prohíben o impiden el uso de INTRDR. Ten cuidado
Algunos sitios permiten ejecutar múltiples trabajos con el mismo nombre al mismo tiempo. Ten cuidado
Aunque a menos que sea un programador del sistema, no puede configurar una clase de este tipo, debe buscar una clase que permita solo un iniciador. Con eso, el proceso es bastante seguro, pero esté absolutamente seguro de que la clase funciona como se describe. Prueba. No con este trabajo.
Si usted es un programador del sistema, sabe que no debe hacer nada fuera de su competencia. 'Nuff dijo.
Con un trabajo con el mismo nombre permitido al mismo tiempo y un solo iniciador, esta será una secuencia constante de inicio / finalización del trabajo siguiente inicio / finalización del trabajo, hasta que complete el spool (otra cosa mala que hacer) con la salida de miles de trabajos (o quedarse sin números de trabajo). Mire una consola JES para mensajes de advertencia.
Básicamente, no hagas esto. Si lo hace, no lo haga en una máquina de producción.
Con un pequeño repaso, consideraré otra respuesta sobre cómo hacerlo en otro sistema operativo IBM Mainframe, z / VSE ... z / VSE usa JCL. z / OS usa JCL. Ellos son diferentes :-)
exec
hace en Linux?