シェルスクリプトを介してCOBOLプログラムを実行すると、私のタスク番号をどのように知ることができますか?

シェルスクリプトを介してCOBOLプログラムを実行すると、私のタスク番号をどのように知ることができますか?

シェルスクリプトを介してCOBOLプログラムを実行すると、私のタスク番号をどのように知ることができますか?

答え1

あなたがやっていることについてもっと説明できますか?あなたのプログラムに関連するいくつかの「数字」があります。

メモ:私の例では、ドル記号($)はコマンドプロンプトを表し、コマンドの一部として入力するためのものではありません。

  1. プロセス番号

    プログラムがUnixで実行されると、プロセスIDが割り当てられます。このプログラムがあり、sleep100秒間実行しているとします。

    $ sleep 10000
    

    その後、コマンドを使用してプロセスIDを見つけることができますps。プロセスIDはです9263。たとえば、次のようになります。

    $ ps -eaf|grep sleep
    saml      9263  5736  0 05:48 pts/1    00:00:00 sleep 10000
    
  2. バックグラウンドタスク

    プログラムがバックグラウンドに切り替えられると、実行中のシェルに直接接続することなく実行できます。

    $ sleep 10000 &
    [1] 9370
    

    sleepここでは、10000秒間プログラムを実行します。&最後のアンパサンド()は、シェルに背景として設定するように指示します。ジョブがバックグラウンドに切り替わると、ジョブ番号が再割り当てされます。この場合、タスク#1が割り当てられます。9370プロセスID。

    次のコマンドを使用して、どのジョブが実行されているかを確認できますjobs

    $ jobs
    [1]+  Running                 sleep 10000 &
    

    ジョブ番号を使用して、このプロセスを処理、終了、またはフォアグラウンドに戻すことができます。

    $ kill %1
    
    $ fg
    -or-
    $ fg %1
    
  3. at およびバッチコマンド

    タスク # 容量に「数値」が表示される別の場所があります。コマンドを使用して、番号付きのスケジュールされたジョブをキューに追加またはat割り当てbatchます。

    $ at -f mycrontest.sh  10pm tomorrow
    job 14 at Sun Jul  8 22:00:00 2007
    
  4. コンピューティングクラスタ技術

    さらに一歩進み、サイトがクラスタリング技術を使用している場合グリッドスケジューラ/グリッドエンジンスラムまたは他の人、これらのシステムはまた、個々のタスクにタスク#を割り当てます。

答え2

#!/bin/bash

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

man「特殊パラメータ」の下のページを参照してください。bash

関連情報