Last update: 2001/7/16
Sincce before: 1996/3/25

Job (ジョブ) in C-shell

info -- Quick Ref. -- My Job -- Yashiro's home


  1. ジョブの実行
    1.  
    2. Background job での実行 % command & % xterm & % nroff -ms text.file & % nohup a.out >> a.log & logout 後も実行を継続
    3. Background job の message (94/7/5) 標準出力への出力 % stty -tostop Background job pauses when the job outputs messages to stdout. 標準出力への非出力 % stty tostop Background job discards stdout messages. cf.) Outputs messages to stdout and job runs without intervation. % (a.out) >>& message_file &
    4. 低プライオリティでの実行 % nice command : nice 値の増分は 4 % nice -# command : # は nice 値の増分 プライオリティの変更 % renice # process id : process id は ps でみる.
    5. バックグラウンドジョブへの端末からの入出力 入力待 ==>> fg ==> 入力 ==> ^z ==> bg 出力待 ==>> fg ==> 出力 ==> ^z ==> bg "stty tostop" を設定してあるとき
    6. バックグラウンドジョブ終了の即時通知 % notify %job# : job# は jobs でみる.

  2. コマンド(ジョブ, プロセス)の制御
    1. 動作条件の確認
      stty -a で "susp = ^Z" が設定されてあること.
    2. 中断と再開
      ^z
      中断
      %%, fg
      再開 (current job)
      %job#
      再開
      % bg
      バックグラウンド化
    3. ジョブの一覧
      % jobs
        job#, status(+:current job, -:last job)
      % jobs -l
        job#, process#, status(+:current job, -:last job)
    4. kill
      % kill process_id
      % kill %job#
    5. バックグラウンドジョブの中断
      % stop %job#
      % fg %job# ==> ^z
    6. コメント
      ; で区切って1行に記述したプロセスをバックグラウンドにする場合には、かっこ () で括って1つのジョブにすると、ジョブ制御ができる。
        % (cd prog; cc test.c -o testprog ; testprog) &


  3. プロセスの制御
    1. プロセスの殺し方
      % ps -elf
        or
      % ps -aux
      % kill -9 process_id
    2. Sun4: priority の変更
      # renice # -p process_id
        # は 4 (nice の標準値)あるいは -20(高) 〜 19(低)


  4. コマンドの実行時間の表示
    1. CPU 時間が seconds 以上のコマンドについて実行時間を表示する。

  5. 時刻指定 (cron) の実行
    1. Edit the contents
      Confirmation

  6. 時刻指定 (at) の実行
    1. 使用例
      % at 2am atfile
      % at 1415am Jan 3 atfile
      % at 2:15pm Friday atfile
      % at now +1 day atfile

      実行待ちのジョブの表示
        % atq
      実行待ちのジョブの削除
        % atrm job#
    2. 設定ファイル HI-UX: /usr/lib/cron/at.allow
      Sun4: /usr/spool/cron/at.allow
      無条件の許可: empty の at.deny を作成する