0

How can I know my job number when executing a COBOL program through a shell script?

4
  • What shell are you using? Also an an example of how you start the script and what the script contents are could help.
    – Anthon
    Nov 5, 2013 at 10:50
  • @Anthon - looks like Bash basead on the tag.
    – slm
    Nov 5, 2013 at 10:55
  • 1
    @slm - Duh, I normally only forget to look at the title of a post... %-)
    – Anthon
    Nov 5, 2013 at 11:16
  • @Anthon - I often miss them too 8-)
    – slm
    Nov 5, 2013 at 11:17

2 Answers 2

2

Can you explain a little bit more what you're doing? There are several "numbers" related to your program.

NOTE: In my examples the dollar sign ($) denotes the command prompt and isn't meant to be typed as part of the command.

  1. Process ID

    When a program runs in Unix it's assigned a process ID. Say I have the program sleep, and I run it for 100 seconds.

    $ sleep 10000
    

    I can then find out its process ID using the command ps. The process ID would be 9263, for example:

    $ ps -eaf|grep sleep
    saml      9263  5736  0 05:48 pts/1    00:00:00 sleep 10000
    
  2. Backgrounded job

    When a program is backgrounded, it can continue running without being directly connected to the shell from where it was executed.

    $ sleep 10000 &
    [1] 9370
    

    Here I'm runnning the program sleep for 10000 seconds. The ampersand (&) at the end tells the shell to background it. When jobs are backgrounded they'reassigned a job #. In this case it was assigned job # 1. The 9370 is the process ID.

    We can find out what jobs are running using the jobs command:

    $ jobs
    [1]+  Running                 sleep 10000 &
    

    We can use the job # to act on this process either by killing it, or bringing it back into the foreground.

    $ kill %1
    
    $ fg
    -or-
    $ fg %1
    
  3. at and batch commands

    There are additional places where "numbers" show up in a job # capacity. Scheduled tasks that are queued up using the commands at or batch are also assigned numbers.

    $ at -f mycrontest.sh  10pm tomorrow
    job 14 at Sun Jul  8 22:00:00 2007
    
  4. Compute clustering technologies

    Further still, if you're site is using a clustering technology such as Grid Scheduler/Grid Engine, SLURM, or others, these systems too have job #'s assigned to each individual task.

0
#!/bin/bash

cobol_program &
echo "The COBOL program is running in the background with PID: $!"

See the man page for bash under 'Special Parameters'

0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .