Su un mainframe IBM che esegue z / OS, si esegue un'utilità che copia un set di dati (file) in un altro set di dati (file). L'input è l'origine del JCL (Job Control Language) che è stato inviato per farlo funzionare. L'output è il lettore interno (INTRDR). Dovrai anche assicurarti che il tuo sistema non consenta l'esecuzione di più nomi di lavoro identici. Buono a usare una classe di lavoro che ha un solo iniziatore (luogo in cui un JOB può essere eseguito in batch).
Non ci sono PID coinvolti (in z / OS), quindi fallisce il set di sfide.
Si interrompe il processo drenando e / o irrigando. Se qualcosa è andato storto, svuotando e / o arrossando, imprecando, calciare, tentando un avvio a caldo e infine con un avvio a freddo o premendo il pulsante rosso grande (e sparando al programmatore).
Potrei aver esagerato lungo la strada, ma non provarlo al lavoro ...
Esempio usando SORT. I dettagli sulla scheda JOB dipendono molto dal sito. La politica del sito può vietare o impedire l'uso di INTRDR. Potrebbe essere richiesta una classe specifica per utilizzare INTRDR. Se la politica del tuo sito ne proibisce l'uso , non utilizzarlo meno che tu non voglia portare i tuoi effetti personali a fare una passeggiata in una scatola di cartone.
Sebbene ci siano buoni usi per INTRDR, non utilizzarlo per questo scopo . Non avrai nemmeno la possibilità di ottenere la tua scatola.
//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)
Altre utilità sono disponibili. Sarebbe anche facile fare un programma veloce, basta leggere un file, scrivere un file.
Se vuoi che un esempio di questo vada storto, prova: http://ibmmainframes.com/viewtopic.php?p=282414#282414
Il modo tradizionale di copiare un set di dati è utilizzare l'utilità IBM IEBGENER, come ugoren allude nel loro commento.
Tuttavia, oggigiorno, molti siti avranno IEBGENER "aliasato" su ICEGENER. Se possibile, ICEGENER utilizzerà il DFSORT di IBM (o il suo SyncSort rivale) per fare una copia, perché i prodotti SORT sono molto più ottimizzati per IE rispetto a IEBGENER.
Sto solo tagliando l'intermediario usando SORT.
Se lavori in un sito IBM Mainframe, conosci il formato della scheda JOB che dovresti usare. La scheda JOB minima è come ho mostrato, senza il commento. Il commento sarà importante, perché si potrebbe supporre che tu stia fornendo informazioni contabili, ad esempio. Il nome lavoro avrà probabilmente un formato specifico per il sito.
Alcuni siti vietano o impediscono l'uso di INTRDR. Sii consapevole.
Alcuni siti consentono l'esecuzione simultanea di più lavori con lo stesso nome. Sii consapevole.
Sebbene a meno che tu non sia un programmatore di sistema, non puoi impostare tale classe, dovresti cercare una classe che consenta un solo iniziatore. Con ciò, il processo è abbastanza sicuro, ma assicurati assolutamente che la classe funzioni come descritto. Test. Non con questo lavoro.
Se sei un programmatore di sistema, sai di non fare nulla al di fuori delle tue competenze. 'ha detto Nuff.
Con un lavoro con lo stesso nome consentito contemporaneamente e un solo iniziatore, questo sarà un flusso costante di inizio / fine lavoro successivo / fine lavoro successivo - fino a riempire lo spool (un'altra cosa negativa da fare) con l'output di migliaia di lavori (o numero di lavori esaurito). Guarda una console JES per i messaggi di avviso.
Fondamentalmente, non farlo. Se lo fai, non farlo su una macchina di produzione.
Con un po 'di ripassamento, prenderò in considerazione un'altra risposta su come farlo su un altro sistema operativo IBM Mainframe, z / VSE ... z / VSE utilizza JCL. z / OS utilizza JCL. Sono diversi :-)
exec
fa Linux?