&による並行起動


ktermでプログラムを起動するとき,プログラムを同時並行で起動すると便利な場合がある。
  1. ktermを起動して,「xeyes」というコマンドを入力してみる。

    すると,次のようにマウスカーソルを追跡する「目玉」が出てくる。


    ところが,この目玉(xeyes)が出ている間は,ktermは入力を受け付けない。
    これは,ktermは,xeyesプログラムが終了するまで待機状態になってしまう
    からである。このように,ktermからプログラムを起動すると,ktermはその
    プログラムが終了するまで待機状態になってしまう

    つまり,xeyesを強制終了させれば,再びこのktermは入力を受け付けるよう
    になる,ktermを前面に出して,コントロールを押しながらCのキーを押すと,
    xeyesプログラムは下図のように終了し,ktermに再び入力できるようになる。


    このように,ktermから起動したプログラムは,たいていの場合は
    kterm上で「コントロールキーを押しながらCを押す」ことで,強制
    終了させることが出来る


    なお,「コントロールキーを押しながらCを押す」ということを,

     Ctrl-c  または  C-c

    などと略して書くこともある。

  2. さて,ktermからプログラムを起動すると,ktermはそのプログラムが
    終了するまで待機して,入力を受け付けなくなることは前述した通りで
    ある。

    しかし,ktermからプログラムを起動するとき,コマンドの後ろに &
    つけてプログラムを起動すると,そのプログラムはktermと同時並行的に
    動作するため,そのプログラムの動作中であってもktermは入力を受け付
    けてくれるようになる。

    たとえば,次のようにxeyesを起動するときに,後ろに&をつけてみよう。


    すると,次のようにxeyesが動作していてもktermに入力できることがわかる。
    (下図の例では,xeyesが動作中にcalコマンドを実行してカレンダーを表示し
    ている)



    このように,&をつけてプログラムを実行するとktermはいつも使用可能
    になるので便利である。ただし,calコマンドのようにktermの画面に結果
    を表示するプログラムを実行する場合には,&をつけてはいけない。xeyes
    やmozillaなどのように,ktermとは別の窓を開いて動作するプログラムを
    起動する場合に&をつけると良い



    次に進む